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
(!) Здесь мы все на "ты"
210
Да ты реализацию вью посмотри - там три строчки)
Иван
209
Ага, понял
208
вью само сообщение шлёт, а кнопки в атачи добавляет add_buttons_to_message_body
Иван
211
Внутри вызывается как раз add_buttons_to_message_body
View по сути сообщение шлёт с кнопками в attachments?
214
А если false вернуть, только сообщение перестанет удаляться или другое поведение поменяется?
Насколько помню, только удаляться перестанет)
207
Внутри вызывается как раз add_buttons_to_message_body
add_buttons_to_message_body формирует объект, а вью уже его показывает в чате
Иван
212
Если функция-обработчик кнопки возвращает True
А если false вернуть, только сообщение перестанет удаляться или другое поведение поменяется?
215
Внутри вызывается как раз add_buttons_to_message_body
Иван
206
Собственно показывает сообщение с кнопками
Не понял. Это используется отдельно от add_buttons_to_message?
Иван
215
Но этот метод только добавляет кнопки к месаге
Да, всё правильно. А потом сообщение исчезает, если на кнопку нажать
216
Может быть view_buttons ?
226
Использовал функцию add_buttons_to_message (вроде). На нажатие (по сути это вызов команды) отправлял стикер/сообщение. При этом сообщение с кнопкой удалялось ...
add_buttons_to_message_body видимо
Иван
223
Вот здесь поподробнее можно? Что используется?
Использовал функцию add_buttons_to_message (вроде). На нажатие (по сути это вызов команды) отправлял стикер/сообщение. При этом сообщение с кнопкой удалялось
Иван
206
Привет. Делается так:
1. В вызывающем коде с приглашением ко вводу явно указывается, что на текущее сообщение ожидается текстовый ответ:
`update.required_cmd_response = True`
2. Соответственно, любой ввод НЕ команды в этом случае будет восприниматься как ответ. В приходящем апдейте имеется признак, что это ...
Спасибо, попробую)
228
А, вот ещё вопрос. Это нормальное поведение, что при нажатии на кнопку сообщение удаляется?
Вот здесь поподробнее можно? Что используется?
322
Регистрация предыдущего шага есть
Привет. Делается так:
1. В вызывающем коде с приглашением ко вводу явно указывается, что на текущее сообщение ожидается текстовый ответ:
`update.required_cmd_response = True`
2. Соответственно, любой ввод НЕ команды в этом случае будет восприниматься как ответ. В приходящем апдейте имеется признак, что это именно ответ на предыдущую команду, а не новое сообщение:
`if update.this_cmd_response: ...
RED
205
тебе спасибо. обратил моё внимание на эту крутую фишку
Иван
210
Спасибо!
RED
206
т.е это особенность данной библиотеки. не баг, но фича
RED
206
это вызывается на каком то участке кода внутри TamTamBot. в моём боте своя система команд, поэтому я упразднил это всё в оригинальной библиотеке и выпиливание исчезло
Иван
204
Но в принципе норм. С этим можно жить, чтобы не редактировать сообщения. Мне важно было узнать, не баг ли я каким-то образом спровоцировал
Иван
206
Как я понял, каждая кнопка дёргает команду. Вот я в обработке команды ничего не удаляю. Видимо, пока до моего обработчика доходит, успевает где-то удалиться
Иван
203
А это где-то скрыто вызывается?
RED
212
собственно оно и выпиливает
RED
216
поищи в либе msg.delete_message
Иван
216
Видать, достали её изрядно))
Иван
212
Вопрос интересный...
А я не знаю как тут посмотреть ссылку.
Но называется
TamTam Bot API chat
Нашел TamTam help чат
Иван
211
Ну в принципе, исходя из этого, можно что-то удобное построить. Мне только интересно, именно так и должно быть?
RED
217
странное, но иногда полезное
Иван
280
А, вот ещё вопрос. Это нормальное поведение, что при нажатии на кнопку сообщение удаляется?
217
adm_user_id=<здесь пишешь свой айди> buttons = bot.get_buttons( [CallbackButtonCmd('1-я кнопка', 'b1', intent=Intent.NEGATIVE), CallbackButtonCmd('2-я кнопка', 'b2', intent=Intent.DEFAULT)] ...
Сергей уже приводил пример реализации нескольких кнопок )
RED
213
размер кнопок вроде не регулируется.. но разместить их в одну строку вполне получается
RED
210
напиши ей. добавит
213
Там по приглашению
215
Вопрос интересный...
А я не знаю как тут посмотреть ссылку.
Но называется
TamTam Bot API chat
214
Не в тот чат пишем, однако.
Надо в bot API.
209
Да вроде никаких больше.
А этот очень актуален.
Иван
215
А какие ещё варианты для приглашений есть?
210
Вроде со всем разобрался. Осталось 3 вещи:
1. Как тут приглашения организовать? В телеграм есть возможность прокидывать переменные вместе с командой start: https://t.me/<bot_url>/start=<referral_link>
2. По-прежнему не пойму, как регистрировать функции-обработчики следующих шагов. Есть регистрация предыдущих шагов. Не понимаю зачем.
3. Как регулировать размер ...
Спрашивал здесь насчёт deep linking, говорили осенью будут делать.