필자는 Python-Telegram-bot 모듈을 사용하여 텔레 그램 봇을 만들었습니다. 이제는 30 일만 작동하도록 설정하려고합니다. 즉, 사용자가 /start
을 봇에 보냈을 때 봇은 30 일 동안 중단됩니다 내 코드 :사용자 당 30 일 동안 만 작동하고 거기서 멈추는 전보 봇을 만드는 방법은 무엇입니까?
# -*- coding: utf-8 -*-
from telegram.ext import Updater, MessageHandler, Filters, CommandHandler
import re
def delete_method(bot, update):
if not update.message.text:
print("it does not contain text")
return
mlist=['hello', 'by', 'world']
for i in mlist:
if re.search(i, update.message.text):
bot.delete_message(chat_id=update.message.chat_id, message_id=update.message.message_id)
def start_method(bot, update):
bot.send_message(chat_id=update.message.chat_id, "This bot only works for 30 days")
def main():
updater = Updater(token = 'TOKEN')
dispatcher = updater.dispatcher
dispatcher.add_handler(MessageHandler(Filters.all, delete_method))
start_command = CommandHandler('start', start_method)
dispatcher.add_handler(start_command)
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
# for exit
# updater.idle()
봇이 각 사용자별로 30 일 후에 작동을 멈추게하려면 어떻게해야합니까? 코드를 어떻게 추가해야합니까?
chat_id (사용자 식별)와 그의 등록일을 데이터베이스에 저장하고 30 일이 지난 경우 메시지 확인을 보내기 전에 30 일이 지나면 메시지를 보내지 마십시오 (또는 "이 봇을 더 이상 사용할 수 없습니다"). – newsha
@newsha \t 영어가 잘 못되어서 당신이 말한 커먼을 읽을 수 없습니다. 제 코드를 수정하십시오. - – Sajjad