Я новичок в создании ботов, поэтому я создал очень простой бот Telegram, и он отлично работает, но не могу понять, как заставить бота отправлять сообщения каждые n минут или n часов при запуске команды /start_auto. p>
Я нашел обходной путь с помощью цикла while, но он выглядит глупо, и во время цикла пользователи не смогут взаимодействовать с ботом по другим темам.
Я хочу, чтобы пользователи могли запускать и останавливать эту запланированную задачу с помощью таких команд, как /start_auto и /stop_auto.
Я знаю, что есть много других ответов на вопросы, связанные с этой темой, но ни один из них кажется, работает с моим кодом.
import logging
import os
import time
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
logger = logging.getLogger(__name__)
PORT = int(os.environ.get('PORT', '8443'))
def start(update, context):
"""Sends a message when the command /start is issued."""
update.message.reply_text('Hi!')
def help(update, context):
"""Sends a message when the command /help is issued."""
update.message.reply_text('Help!')
def start_auto(update, context):
"""Sends a message when the command /start_auto is issued."""
n = 0
while n < 12:
time.sleep(3600)
update.message.reply_text('Auto message!')
n += 1
def error(update, context):
"""Logs Errors caused by Updates."""
logger.warning('Update "%s" caused error "%s"', update, context.error)
def main():
TOKEN = 'TOKEN_GOES_HERE'
APP_NAME = 'https://my-tele-test.herokuapp.com/'
updater = Updater(TOKEN, use_context=True)
# Get the dispatcher to register handlers
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("help", help))
dp.add_handler(CommandHandler("start_auto", start_auto))
# log all errors
dp.add_error_handler(error)
updater.start_webhook(listen="0.0.0.0", port=PORT, url_path=TOKEN, webhook_url=APP_NAME + TOKEN)
updater.idle()
if __name__ == '__main__':
main()
Подробнее здесь: https://stackoverflow.com/questions/721 ... legram-bot
Бот Telegram для отправки автоматического сообщения каждые n часов с помощью python-telegram-bot ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Telegram-бот — выкидывание пользователей с помощью библиотеки python-telegram-bot
Anonymous » » в форуме Python - 0 Ответы
- 26 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Telegram-бот — выкидывание пользователей с помощью библиотеки python-telegram-bot
Anonymous » » в форуме Python - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Python-Telegram-бот-встроенные кнопки без реагирования после длинной (~ 5+ часов) задержка
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-