我正在使用python-telegram-bot
为在电报群聊中键入的机器人命令创建测试。我的第一次尝试是创建作为用户的telegram.Bot
,并使用user.send_message("/start")
,这样我的bot实例就可以处理逻辑。然而,看起来这个机器人是为回应人类而设计的。通读文档,我看到有telegram.Chat
和telegram.User
。
chat = Chat(id=0, type="group")
user = User(id=123, first_name="Sam", is_bot=False)
我想不出如何连接这两个对象。我想我可以做一些像chat.add_user()
和user.send_message(chat_id)
这样的事情,但是这两种方法似乎都不存在。user对象有一个不接受Chat对象或chat_id的send_message()
方法。如何连接聊天和用户对象,以便测试各种telegram.Bot命令?
发布于 2021-08-24 00:51:21
首先,你必须去电报和搜索官方机器人父亲帐户。输入/newbot以创建您的个人机器人。
其次,请创建一个群,并将您的机器人添加到其中。以获取您创建的群的聊天/群ID。您可以访问此链接https://api.telegram.org/bot/getUpdates并将"“替换为您的机器人令牌。键入/abc并在群聊中标记你的机器人。刷新页面后,您将看到一个json返回。请搜索聊天id (-5xxxxxx)。
第三,我假设您已经在您的环境中安装了python telegram bot。创建python文件,代码如下:
from telegram import *
from telegram.ext import *
def sendtext(update,context):
updater.bot.sendMessage(chatid, "Hello World")
updater = Updater("your token")
chatid= yourchatID
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler('sendtext',sendtext))
print("Started Polling")
updater.start_polling()
updater.idle()
运行代码并在组中键入/sendtext。您将看到helloworld。
https://stackoverflow.com/questions/68894612
复制相似问题