Привет! Сегодня я расскажу тебе, как написать код для бота, который будет обрабатывать текстовые сообщения и отправлять случайное число от 0 до 100, если в сообщении встречается слово ″рандом″. В противном случае, бот будет просто дублировать текст пользователя. Для этого нам потребуется два разных хэндлера.Первым делом, нам понадобится установить библиотеку python-telegram-bot. Для этого в консоли нужно выполнить команду⁚
pip install python-telegram-bot
После установки библиотеки, импортируем необходимые модули и классы⁚
python
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import random
Далее, создаем функцию, которая будет обрабатывать сообщения пользователя⁚
python
def echo(update, context)⁚
message update.message.text.lower
if ‘рандом’ in message⁚
random_number random.randint(0, 100)
context.bot.send_message(chat_idupdate.effective_chat.id, textstr(random_number))
else⁚
context.bot.send_message(chat_idupdate.effective_chat.id, textmessage)
В этой функции мы сначала получаем текст сообщения пользователя и приводим его к нижнему регистру. Затем, проверяем, содержит ли сообщение слово ″рандом″. Если содержит, генерируем случайное число от 0 до 100 с помощью модуля random и отправляем его пользователю. Если слово ″рандом″ не найдено, просто дублируем текст пользователя.Теперь создаем экземпляр класса Updater и добавляем хэндлеры⁚
python
updater Updater(token’your_bot_token’, use_contextTrue)
dispatcher updater.dispatcher
echo_handler MessageHandler(Filters.text, echo)
dispatcher.add_handler(echo_handler)
Обрати внимание, что вместо ‘your_bot_token’ ты должен вставить токен своего бота, который ты получил от BotFather.Остается только запустить бота⁚
python
updater.start_polling
И вот, теперь твой бот готов! Он будет отправлять случайное число при наличии слова ″рандом″ в сообщении, иначе будет дублировать текст пользователя.
Это был мой личный опыт написания бота с двумя разными хэндлерами. Я надеюсь, что эта информация была полезной для тебя. Удачи с твоим ботом!