首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用python-telegram-bot API,如何创建测试,其中我使用fake-user- bot在群聊中键入命令,并让我的bot实例响应

使用python-telegram-bot API,如何创建测试,其中我使用fake-user- bot在群聊中键入命令,并让我的bot实例响应
EN

Stack Overflow用户
提问于 2021-08-23 14:40:07
回答 1查看 149关注 0票数 0

我正在使用python-telegram-bot为在电报群聊中键入的机器人命令创建测试。我的第一次尝试是创建作为用户的telegram.Bot,并使用user.send_message("/start"),这样我的bot实例就可以处理逻辑。然而,看起来这个机器人是为回应人类而设计的。通读文档,我看到有telegram.Chattelegram.User

代码语言:javascript
运行
复制
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命令?

EN

回答 1

Stack Overflow用户

发布于 2021-08-24 00:51:21

首先,你必须去电报和搜索官方机器人父亲帐户。输入/newbot以创建您的个人机器人。

其次,请创建一个群,并将您的机器人添加到其中。以获取您创建的群的聊天/群ID。您可以访问此链接https://api.telegram.org/bot/getUpdates并将"“替换为您的机器人令牌。键入/abc并在群聊中标记你的机器人。刷新页面后,您将看到一个json返回。请搜索聊天id (-5xxxxxx)。

第三,我假设您已经在您的环境中安装了python telegram bot。创建python文件,代码如下:

代码语言:javascript
运行
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68894612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档