|
Теги. bot теги. Бот создан, настроен, но как его запустить Если сейчас мы перейдём в нашего бота и запустим его, то мы получим Ничего мы и не получим, т к. мы только создали бота
И/ИЛИ Иногда приходится создавать более сложные проверки для обработчиков.
И Чтобы добавить несколько условий в обработчик - достаточно написать их через запятую:
# Функция выполнится если все проверки вернут True # В примере снизу функция будет вызвана если тип сообщения будет текст, и текст сообщения будет 1 @bot.message_handler(content_types = ['text'], func = lambda message: message.text == '1') def send_something(message) : pass
Так обработчик сработает, если выполнятся все условия
Или Если нам нужно запустить обработчик при выполнении хотя бы одного условия, мы можем просто поставить один обработчик на другой:
# Также обработчики можно «ставить» друг на друга # Функция выполнится если хотя бы один из обработчиков пройдёт проверку. # В примере снизу функция будет вызвана если текст сообщения будет 1 или будет использована команда /hello @bot.message_handler(func = lambda message: message.text == '1') @bot.message_handler(commands=['hello']) def send_something(message) : pass ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Виды обработчиков Существует множество видов обработчиков. Большинство из них довольно специфичные и редко используются, в этом курсе будут использованы только 3 вида обработчиков. Но остальные вам следует знать, так как в будущем могут понадобиться:
Message handler
Обратывает сообщения, мы уже его прошли.
@bot.message_handler(filters) # <- передаёт объект Message в вашу функцию
Edited Message handler Обрабатывает отредактированные сообщения. Скоро его пройдём.
@bot.edited_message_handler(filters) # <- передаёт объект Message в вашу функцию
Channel Post handler Обрабатывает сообщения каналов.
@bot.channel_post_handler(filters) # <- передаёт объект Message в вашу функцию
Edited Channel Post handler Обрабатывает отредактированные сообщения каналов
@bot.edited_channel_post_handler(filters) # <- передаёт объект Message в вашу функцию
Callback Query Handler Обрабатывает callback запросы. Это мы пройдём позже в уроке кнопки.
@bot.callback_query_handler(func=lambda call: True) # <- передаёт объект CallbackQuery в вашу функцию
Shipping Query Handler Обрабатывает shipping запросы.
@bot.shipping_query_handeler() # <- передаёт объект ShippingQuery в вашу функцию
Pre Checkout Query Handler Обрабатывает pre checkout запросы
@bot.pre_checkout_query_handler() # <- передаёт объект PreCheckoutQuery в вашу функцию
Poll Handler Обрабатывает обновления опросов
@bot.poll_handler() # <- передаёт объект Poll в вашу функцию
Poll Answer Handler Обрабатывает ответы на опросы
@bot.poll_answer_handler() # <- передаёт объект PollAnswer в вашу функцию
My Chat Member Handler Обрабатывает обновления статуса участника бота в чате
@bot.my_chat_member_handler() # <- передаёт объект ChatMemberUpdated в вашу функцию
Chat Member Handler Обрабатывает обновления статуса пользователя в чате
@bot.chat_member_handler() # <- передаёт объект ChatMemberUpdated в вашу функцию
Chat Join Request Handler Обрабатывает запросы на присоединение к чату
@bot.chat_join_request_handler() # <- передаёт объект ChatInviteLink в вашу функцию
Я не понимаю как, где, и для чего можно использовать большинство из этих обработчиков, если вы знаете - напишите пожалуйста в комментариях)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|