TamTamBot для питона ✔️
123 •
@pyBotApiFrm
Обсуждение, вопросы, предложения.
TamTamBot (TTB):
https://github.com/asvbkr/TamTamBot">https://github.com/asvbkr/TamTamBot
OpenAPI client (OAC):
https://github.com/asvbkr/openapi_client">https://github.com/asvbkr/openapi_client
* туториал - https://habr.com/ru/company/mailru/blog/466373/
* демобот - https://github.com/asvbkr/ttBotDemo">https://github.com/asvbkr/ttBotDemo
Его работающая инсталяция - @asvbkrTestBot1
* Другие примеры - https://github.com/asvbkr
(!) Здесь мы все на "ты"
267
send_text.py
py
0,811 Кб
192
Сделай
`print(self.msg.send_message(NewMessageBody('Hi!'), chat_id=chat_id))
191
Никакой. Его нету
191
какой результат возвращается?
190
Айди указал на лс с ботом
187
там, в общем-то нечему не работать
188
так может неправильный айди указан
188
Текст не пришел)
195
Вот так можно, к примеру:
`class BotDk(TamTamBot): def my_function(self, chat_id): self.msg.send_message(NewMessageBody('Hi!'), chat_id=chat_id)
if __name__ == '__main__': set_use_django(False) bot = BotDk() ...
Не, не получилось. Ну ладно, буду пробовать разные пути. И на этом спасибо.
TamTamBot для питона ✔️
191
Я это официальное апи вообще не понимаю)
там по сути нужно сформировать строку http запроса (как в браузере и в браузере в том числе можно проверить как это работает) по правилам API и разобрать json-ответ ну и работать с результатами
193
Вот так можно, к примеру:
`class BotDk(TamTamBot): def my_function(self, chat_id): self.msg.send_message(NewMessageBody('Hi!'), chat_id=chat_id)
if __name__ == '__main__': set_use_django(False) bot = BotDk() ...
Спасибо, я позже попробую
198
попробуй классический подход: пишеш программу по своей задумке, а в местах где требуется взаимодействие с ботом используя официальную документацию API и библиотеку requests создаешь нужную тебе функцию... ...
Я это официальное апи вообще не понимаю)
194
И полная свобода действий
188
попробуй классический подход: пишеш программу по своей задумке, а в местах где требуется взаимодействие с ботом используя официальную документацию API и библиотеку requests создаешь нужную тебе функцию... ...
Тоже вариант
211
А если мне нужно функцию так послать?
Вот так можно, к примеру:
`class BotDk(TamTamBot):
def my_function(self, chat_id):
self.msg.send_message(NewMessageBody('Hi!'), chat_id=chat_id)
if __name__ == '__main__':
set_use_django(False)
bot = BotDk()
bot.my_function(..здесь номер нужного тебе чата..)
TamTamBot для питона ✔️
194
Извините, но я не такой знаток.
попробуй классический подход: пишеш программу по своей задумке, а в местах где требуется взаимодействие с ботом используя официальную документацию API и библиотеку requests создаешь нужную тебе функцию...
197
Извините, но я не такой знаток.
186
в апи телеграм используются декораторы и соответсвенно другая структура основного кода
Да это вот именно что декораторы
TamTamBot для питона ✔️
195
Но там ведь не надо так заморачиваться
в апи телеграм используются декораторы и соответсвенно другая структура основного кода
202
пулинг - это мониторинг событий бота
194
Ты смешиваешь разные вещи
196
Но там ведь не надо так заморачиваться
199
Ну, я видел такое в ВК апи, и телеграм
200
Ты можешь написать свой метод к своему классу
203
А если мне нужно функцию так послать?
195
А просто послать сообщение можно, например, так:
`if __name__ == '__main__':
set_use_django(False)
bot = BotDk()
chat_id = ..здесь номер нужного тебе чата..
bot.msg.send_message(NewMessageBody('Hi!'), chat_id=chat_id)
175
Но бот не отвечает
179
Хорошо, тогда вот так.
Как мне отправить этот текст? `def send_msg(self, update): if not (update.chat_type in [ChatType.DIALOG]): return False ...
Так вот это - это структура, заточенная под ответ
174
Да и не только текст, а вообще все.
170
Я правильно понимаю, что ты хочешь отправить просто текст, и не в ответ на какое либо действие пользователя?
184
Хорошо, тогда вот так.
Как мне отправить этот текст?
`def send_msg(self, update):
if not (update.chat_type in [ChatType.DIALOG]):
return False
self.msg.send_message(NewMessageBody('Hi!'), chat_id=update.chat_id)
162
В чём смысл этого? Не нравится название функции? )
157
Например, вот функция:
`def receive_text(self, update):
if not (update.chat_type in [ChatType.DIALOG]):
return False`
и она не моя.
Если я заменю ее на check_news(), чтобы получилось вот так:
`def check_news(self, update):
if not (update.chat_type in [ChatType.DIALOG]):
return False
то сюда:
`if __name__ == '__main__':
set_use_django(False)
bot = ...