Я пытаюсь отправлять сообщения боту ежедневно без триггера со стороны пользователя (например, commandhadler) со второго разговора и далее.
Я создал базовое c меню для бота, чтобы взаимодействовать с пользователем
Но я также пытаюсь ежедневно отправлять сообщения через job_queue
Я ссылался на коды, использующие обработчики команд
dp.add_handler(CommandHandler("set", set_timer,
pass_args=True,
pass_job_queue=True,
pass_chat_data=True))
Это устанавливается после того, как пользователь вводит / устанавливает. Но я пытаюсь найти способ автоматически отправлять сообщения каждые 30 секунд или установить фиксированное время для ежедневной отправки сообщения. Мой код
from telegram.ext import Updater,CommandHandler
from telegram.ext import MessageHandler,Filters,InlineQueryHandler
import logging
import telegram
logging.basicConfig(level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger()
def start(bot, update):
update.message.reply_text("Hello , Thanks for choosing us!!")
def callback_minute(context: telegram.ext.CallbackContext):
chat_id = ?
context.bot.send_message(chat_id=chat_id,
text='Hi User, Add Fund to your account to start trading')
def main():
updater = Updater(token,use_context=True)
dp = updater.dispatcher
j = updater.job_queue
dp.add_handler(CommandHandler("start",start))
job_minute = j.run_repeating(callback_minute, interval=10, first=0)
updater.start_polling()
updater.idle()
Как получить chat_id? Если я использую
def callback_minute(update, context: telegram.ext.CallbackContext):
chat_id = update.message.chat.id
, я получаю эту ошибку
TypeError: callback_minute() missing 1 required positional argument: 'context'