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