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
(!) Здесь мы все на "ты"
260
Да ты реализацию вью посмотри - там три строчки)
Иван
254
Ага, понял
253
вью само сообщение шлёт, а кнопки в атачи добавляет add_buttons_to_message_body
Иван
257
Внутри вызывается как раз add_buttons_to_message_body
View по сути сообщение шлёт с кнопками в attachments?
258
А если false вернуть, только сообщение перестанет удаляться или другое поведение поменяется?
Насколько помню, только удаляться перестанет)
257
Внутри вызывается как раз add_buttons_to_message_body
add_buttons_to_message_body формирует объект, а вью уже его показывает в чате
Иван
259
Если функция-обработчик кнопки возвращает True
А если false вернуть, только сообщение перестанет удаляться или другое поведение поменяется?
269
Внутри вызывается как раз add_buttons_to_message_body
Иван
250
Собственно показывает сообщение с кнопками
Не понял. Это используется отдельно от add_buttons_to_message?
Иван
266
Но этот метод только добавляет кнопки к месаге
Да, всё правильно. А потом сообщение исчезает, если на кнопку нажать
260
Может быть view_buttons ?
277
Использовал функцию add_buttons_to_message (вроде). На нажатие (по сути это вызов команды) отправлял стикер/сообщение. При этом сообщение с кнопкой удалялось ...
add_buttons_to_message_body видимо
Иван
274
Вот здесь поподробнее можно? Что используется?
Использовал функцию add_buttons_to_message (вроде). На нажатие (по сути это вызов команды) отправлял стикер/сообщение. При этом сообщение с кнопкой удалялось
Иван
250
Привет. Делается так:
1. В вызывающем коде с приглашением ко вводу явно указывается, что на текущее сообщение ожидается текстовый ответ:
`update.required_cmd_response = True`
2. Соответственно, любой ввод НЕ команды в этом случае будет восприниматься как ответ. В приходящем апдейте имеется признак, что это ...
Спасибо, попробую)
283
А, вот ещё вопрос. Это нормальное поведение, что при нажатии на кнопку сообщение удаляется?
Вот здесь поподробнее можно? Что используется?
384
Регистрация предыдущего шага есть
Привет. Делается так:
1. В вызывающем коде с приглашением ко вводу явно указывается, что на текущее сообщение ожидается текстовый ответ:
`update.required_cmd_response = True`
2. Соответственно, любой ввод НЕ команды в этом случае будет восприниматься как ответ. В приходящем апдейте имеется признак, что это именно ответ на предыдущую команду, а не новое сообщение:
`if update.this_cmd_response: ...
RED
250
тебе спасибо. обратил моё внимание на эту крутую фишку
Иван
255
Спасибо!
RED
252
т.е это особенность данной библиотеки. не баг, но фича
RED
251
это вызывается на каком то участке кода внутри TamTamBot. в моём боте своя система команд, поэтому я упразднил это всё в оригинальной библиотеке и выпиливание исчезло
Иван
254
Но в принципе норм. С этим можно жить, чтобы не редактировать сообщения. Мне важно было узнать, не баг ли я каким-то образом спровоцировал
Иван
253
Как я понял, каждая кнопка дёргает команду. Вот я в обработке команды ничего не удаляю. Видимо, пока до моего обработчика доходит, успевает где-то удалиться
Иван
254
А это где-то скрыто вызывается?
RED
261
собственно оно и выпиливает
RED
264
поищи в либе msg.delete_message
Иван
269
Видать, достали её изрядно))
Иван
261
Вопрос интересный...
А я не знаю как тут посмотреть ссылку.
Но называется
TamTam Bot API chat
Нашел TamTam help чат
Иван
260
Ну в принципе, исходя из этого, можно что-то удобное построить. Мне только интересно, именно так и должно быть?
RED
268
странное, но иногда полезное
Иван
336
А, вот ещё вопрос. Это нормальное поведение, что при нажатии на кнопку сообщение удаляется?
267
adm_user_id=<здесь пишешь свой айди> buttons = bot.get_buttons( [CallbackButtonCmd('1-я кнопка', 'b1', intent=Intent.NEGATIVE), CallbackButtonCmd('2-я кнопка', 'b2', intent=Intent.DEFAULT)] ...
Сергей уже приводил пример реализации нескольких кнопок )
RED
263
размер кнопок вроде не регулируется.. но разместить их в одну строку вполне получается
RED
259
напиши ей. добавит
265
Там по приглашению
262
Вопрос интересный...
А я не знаю как тут посмотреть ссылку.
Но называется
TamTam Bot API chat
263
Не в тот чат пишем, однако.
Надо в bot API.
255
Да вроде никаких больше.
А этот очень актуален.
Иван
262
А какие ещё варианты для приглашений есть?
259
Вроде со всем разобрался. Осталось 3 вещи:
1. Как тут приглашения организовать? В телеграм есть возможность прокидывать переменные вместе с командой start: https://t.me/<bot_url>/start=<referral_link>
2. По-прежнему не пойму, как регистрировать функции-обработчики следующих шагов. Есть регистрация предыдущих шагов. Не понимаю зачем.
3. Как регулировать размер ...
Спрашивал здесь насчёт deep linking, говорили осенью будут делать.