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