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
(!) Здесь мы все на "ты"
247
Да ты реализацию вью посмотри - там три строчки)
Иван
241
Ага, понял
239
вью само сообщение шлёт, а кнопки в атачи добавляет add_buttons_to_message_body
Иван
243
Внутри вызывается как раз add_buttons_to_message_body
View по сути сообщение шлёт с кнопками в attachments?
245
А если false вернуть, только сообщение перестанет удаляться или другое поведение поменяется?
Насколько помню, только удаляться перестанет)
240
Внутри вызывается как раз add_buttons_to_message_body
add_buttons_to_message_body формирует объект, а вью уже его показывает в чате
Иван
246
Если функция-обработчик кнопки возвращает True
А если false вернуть, только сообщение перестанет удаляться или другое поведение поменяется?
250
Внутри вызывается как раз add_buttons_to_message_body
Иван
237
Собственно показывает сообщение с кнопками
Не понял. Это используется отдельно от add_buttons_to_message?
Иван
251
Но этот метод только добавляет кнопки к месаге
Да, всё правильно. А потом сообщение исчезает, если на кнопку нажать
247
Может быть view_buttons ?
259
Использовал функцию add_buttons_to_message (вроде). На нажатие (по сути это вызов команды) отправлял стикер/сообщение. При этом сообщение с кнопкой удалялось ...
add_buttons_to_message_body видимо
Иван
258
Вот здесь поподробнее можно? Что используется?
Использовал функцию add_buttons_to_message (вроде). На нажатие (по сути это вызов команды) отправлял стикер/сообщение. При этом сообщение с кнопкой удалялось
Иван
236
Привет. Делается так:
1. В вызывающем коде с приглашением ко вводу явно указывается, что на текущее сообщение ожидается текстовый ответ:
`update.required_cmd_response = True`
2. Соответственно, любой ввод НЕ команды в этом случае будет восприниматься как ответ. В приходящем апдейте имеется признак, что это ...
Спасибо, попробую)
262
А, вот ещё вопрос. Это нормальное поведение, что при нажатии на кнопку сообщение удаляется?
Вот здесь поподробнее можно? Что используется?
365
Регистрация предыдущего шага есть
Привет. Делается так:
1. В вызывающем коде с приглашением ко вводу явно указывается, что на текущее сообщение ожидается текстовый ответ:
`update.required_cmd_response = True`
2. Соответственно, любой ввод НЕ команды в этом случае будет восприниматься как ответ. В приходящем апдейте имеется признак, что это именно ответ на предыдущую команду, а не новое сообщение:
`if update.this_cmd_response: ...
RED
237
тебе спасибо. обратил моё внимание на эту крутую фишку
Иван
241
Спасибо!
RED
239
т.е это особенность данной библиотеки. не баг, но фича
RED
238
это вызывается на каком то участке кода внутри TamTamBot. в моём боте своя система команд, поэтому я упразднил это всё в оригинальной библиотеке и выпиливание исчезло
Иван
239
Но в принципе норм. С этим можно жить, чтобы не редактировать сообщения. Мне важно было узнать, не баг ли я каким-то образом спровоцировал
Иван
241
Как я понял, каждая кнопка дёргает команду. Вот я в обработке команды ничего не удаляю. Видимо, пока до моего обработчика доходит, успевает где-то удалиться
Иван
239
А это где-то скрыто вызывается?
RED
247
собственно оно и выпиливает
RED
250
поищи в либе msg.delete_message
Иван
253
Видать, достали её изрядно))
Иван
246
Вопрос интересный...
А я не знаю как тут посмотреть ссылку.
Но называется
TamTam Bot API chat
Нашел TamTam help чат
Иван
246
Ну в принципе, исходя из этого, можно что-то удобное построить. Мне только интересно, именно так и должно быть?
RED
254
странное, но иногда полезное
Иван
319
А, вот ещё вопрос. Это нормальное поведение, что при нажатии на кнопку сообщение удаляется?
252
adm_user_id=<здесь пишешь свой айди> buttons = bot.get_buttons( [CallbackButtonCmd('1-я кнопка', 'b1', intent=Intent.NEGATIVE), CallbackButtonCmd('2-я кнопка', 'b2', intent=Intent.DEFAULT)] ...
Сергей уже приводил пример реализации нескольких кнопок )
RED
248
размер кнопок вроде не регулируется.. но разместить их в одну строку вполне получается
RED
244
напиши ей. добавит
248
Там по приглашению
248
Вопрос интересный...
А я не знаю как тут посмотреть ссылку.
Но называется
TamTam Bot API chat
248
Не в тот чат пишем, однако.
Надо в bot API.
243
Да вроде никаких больше.
А этот очень актуален.
Иван
249
А какие ещё варианты для приглашений есть?
246
Вроде со всем разобрался. Осталось 3 вещи:
1. Как тут приглашения организовать? В телеграм есть возможность прокидывать переменные вместе с командой start: https://t.me/<bot_url>/start=<referral_link>
2. По-прежнему не пойму, как регистрировать функции-обработчики следующих шагов. Есть регистрация предыдущих шагов. Не понимаю зачем.
3. Как регулировать размер ...
Спрашивал здесь насчёт deep linking, говорили осенью будут делать.