如何在python-telegram-bot中更新时间变量字符串

Mooza

我已经使用python-telegram-bot创建了echo chat telegram bot。随着时间的推移,它将回显我输入的所有内容。但是问题是自机器人启动以来,它总是回显相同的时间字符串。

from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, Dispatcher
import logging
import datetime
logging.basicConfig(format='%(levelname)s - %(message)s',
                    level=logging.DEBUG)
logger = logging.getLogger(__name__)
updater = None

t = datetime.now()
dt_string = time.strftime("%b/%d/%Y %H:%M:%S", t)

sitepath=""
filename="output.txt"

def updatetime():
    t = datetime.now()
    dt_string = time.strftime("%b/%d/%Y %H:%M:%S", t)
    
def repeater(update, context):
    updatetime()
    update.message.reply_text("Done: " + update.message.text + "\n"+ dt_string)

def start_bot():
    global updater
    updater = Updater(
        '##Token##', use_context=True)
    dispatcher = updater.dispatcher
    dispatcher.add_handler(MessageHandler(Filters.text, repeater))
    updater.start_polling()
    updater.idle()
start_bot()

预期结果是

Done: This is a message
Feb/05/2021 15:13:34

Done: 10 Second have passed
Feb/05/2021 15:13:44

Done: 10 Second have passed
Feb/05/2021 15:13:54

但这是实际结果

Done: This is a message
Feb/05/2021 15:13:34

Done: 10 Second have passed
Feb/05/2021 15:13:34

Done: 10 Second have passed
Feb/05/2021 15:13:34
克里希纳(Krishna Chaurasia)

您需要global在方法中添加关键字以确保您使用全局变量,dt_string否则它将创建局部变量,并且您不会更新全局变量。

def updatetime():
    global dt_string
    t = datetime.now()
    dt_string = time.strftime("%b/%d/%Y %H:%M:%S", t)

您需要对所有方法和所有变量执行相同的操作。

请注意,不建议使用global,因此您应尝试重构代码以避免使用global变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中为Telegram bot设置webhook?

来自分类Dev

如何在 Telegram BOT 中接收 CallbackQuery

来自分类Dev

如何使用Telegram Bot API获取Telegram频道用户列表

来自分类Dev

如何在Telegram bot中从用户获取输入(例如名字)?

来自分类Dev

如何在C#中的Telegram bot中使用SendDocumentAsync?

来自分类Dev

如何在Windows Phone 8中使用Telegram API?

来自分类Dev

如何在Windows Phone 8中使用Telegram API?

来自分类Dev

如何在MATE中修复Telegram的重复图标?

来自分类Dev

如何在 Telegram 的即时视图 API 中删除标签的属性?

来自分类Dev

如何获得 Telegram Bot Super Group ID?

来自分类Dev

在heroku上托管python telegram bot

来自分类Dev

使Python-Telegram-Bot持久化

来自分类Dev

如何通过python-telegram-bot接收file_id?

来自分类Dev

如何使用python-telegram-bot转发消息

来自分类Dev

如何通过python-telegram-bot接收file_id?

来自分类Dev

Telegram Bot如何从频道或组中删除或删除消息或媒体

来自分类Dev

如何让 Telegram Bot 从提及中获取用户信息

来自分类Dev

在 Telepot 中运行 handle(msg)(telegram bot python 包)

来自分类Dev

Python Telegram bot 从列表中添加处理程序

来自分类Dev

Ruby Telegram bot - 如何从用户消息中获取文本并将其放入变量中?

来自分类Dev

仅使用Telegram Bot API如何在传入消息中获取频道名称?

来自分类Dev

在python-telegram-bot中如何获取小组的所有参与者?

来自分类Dev

如何在本地计算机上测试Telegram Bot Webhook?

来自分类Dev

用户单击Telegram Bot API后如何隐藏ReplyKeyboardMarkup

来自分类Dev

如何使用Telegram Bot API发送表情符号?

来自分类Dev

基于Java的Telegram Bot Api:如何发送表情符号?

来自分类Dev

如何将URL添加到Telegram Bot的InlineKeyboardButton

来自分类Dev

如何将URL与InlineKeyboardButton用于Telegram Bot

来自分类Dev

Telegram 桌面更新的问题

Related 相关文章

  1. 1

    如何在python中为Telegram bot设置webhook?

  2. 2

    如何在 Telegram BOT 中接收 CallbackQuery

  3. 3

    如何使用Telegram Bot API获取Telegram频道用户列表

  4. 4

    如何在Telegram bot中从用户获取输入(例如名字)?

  5. 5

    如何在C#中的Telegram bot中使用SendDocumentAsync?

  6. 6

    如何在Windows Phone 8中使用Telegram API?

  7. 7

    如何在Windows Phone 8中使用Telegram API?

  8. 8

    如何在MATE中修复Telegram的重复图标?

  9. 9

    如何在 Telegram 的即时视图 API 中删除标签的属性?

  10. 10

    如何获得 Telegram Bot Super Group ID?

  11. 11

    在heroku上托管python telegram bot

  12. 12

    使Python-Telegram-Bot持久化

  13. 13

    如何通过python-telegram-bot接收file_id?

  14. 14

    如何使用python-telegram-bot转发消息

  15. 15

    如何通过python-telegram-bot接收file_id?

  16. 16

    Telegram Bot如何从频道或组中删除或删除消息或媒体

  17. 17

    如何让 Telegram Bot 从提及中获取用户信息

  18. 18

    在 Telepot 中运行 handle(msg)(telegram bot python 包)

  19. 19

    Python Telegram bot 从列表中添加处理程序

  20. 20

    Ruby Telegram bot - 如何从用户消息中获取文本并将其放入变量中?

  21. 21

    仅使用Telegram Bot API如何在传入消息中获取频道名称?

  22. 22

    在python-telegram-bot中如何获取小组的所有参与者?

  23. 23

    如何在本地计算机上测试Telegram Bot Webhook?

  24. 24

    用户单击Telegram Bot API后如何隐藏ReplyKeyboardMarkup

  25. 25

    如何使用Telegram Bot API发送表情符号?

  26. 26

    基于Java的Telegram Bot Api:如何发送表情符号?

  27. 27

    如何将URL添加到Telegram Bot的InlineKeyboardButton

  28. 28

    如何将URL与InlineKeyboardButton用于Telegram Bot

  29. 29

    Telegram 桌面更新的问题

热门标签

归档