为什么我的列表打印不附加问题

时间:2019-07-19 09:53:53

标签: python list printing bots

这是电报(聊天应用程序)的代码,我想在每个人都说某事时创建一个机器人,以创建一个列表并将其用户名添加到列表中。 例如,这是我的list = [] x发送邮件时,列表应为= [(x username)] 之后,当您发送消息时,漫游器应回复此list = [(x username),(y username)]

我有这个问题,因为当我打印列表时,它给了我两个单独的列表。不是一个。 例如,当Mohamad发送消息时 它给了我这个:

[mohammad]

这没关系,但是当Mitra发送消息时,它应该是:

[Mohammad, Mitra]

但是是

[Mitra]

from telegram.ext import Updater , CommandHandler , Filters , 
CommandHandler , MessageHandler
from telegram import MessageEntity
from telegram import ParseMode , InputTextMessageContent

updater = Updater("989165404:AAF8DEjyunwrb88-1G8w62cGItzXj1J618g")


def msg_filter(bot , update):
    list = []
    list.append("{}".format(update.message.from_user.first_name))
    bot.send_message(chat_id = update.message.chat_id , text = " 
    {}".format(list))

        # bot.send_message(chat_id = update.message.chat_id , text = " 
     {}".format(update.message.from_user.first_name))
     print(list)

     updater.dispatcher.add_handler(MessageHandler(Filters.text , 
     msg_filter ))
     updater.start_polling()

1 个答案:

答案 0 :(得分:3)

之所以会这样,是因为您每次都要重置列表。 尝试在函数msg_filter()之外定义空白列表。

list = []

def msg_filter():
    //your code//

告诉我是否可行。 乐意效劳。 和平吧。