我正试图通过电报聊天发送消息。我希望电报设置只能通过官方用户界面完成,因为我希望它可能由最终用户完成。
以下是我所做的电报设置:
XXXXXXX_bot
TestChannel
XXXXXXX_bot
TestChannel
TestChannelChat
TestChannelChat
XXXXXXX\u bot
以下是通道管理员的设置:
一天结束时,聊天室/通话组的设置如下所示:
我进行以下http调用:
GET https://api.telegram.org/botXXXXXXTOKENXXXXXXX/sendMessage?chat_id=@TestChannelChat&text=coucou
这给了我以下答案:
{
"ok": false,
"error_code": 403,
"description": "Forbidden: bot is not a member of the supergroup chat"
}
我还做了以下操作(绕过实际聊天,直接在频道中发布消息):
GET https://api.telegram.org/botXXXXXXTOKENXXXXXXX/sendMessage?chat_id=@TestChannel&text=coucou
这给了我以下答案:
json prettyprint-override">{
"ok": false,
"error_code": 403,
"description": "Forbidden: bot is not a member of the channel chat"
}
一个简单的问题,作为一个机器人也意味着广播消息,我错过了它的设置的哪一部分?
您在使用电报机器人方面的做法是正确的。但首先要了解聊天室id
。
chat\u id
是聊天用户名或聊天id。您只能为公共聊天/组设置用户名。在你的情况下,你有一个私人组,没有用户名。您正在传递的@TestChannelChat
聊天id的值不属于您的聊天室。您必须传递聊天室的id
,或者设置一个公共用户名并传递它。
如果你不知道如何检查聊天的id,请阅读这里:https://stackoverflow.com/a/38388851/10359385
当新用户加入机器人所在的组时,我使用Telegram机器人webhook接收Update对象。我希望收到更多关于用户的信息,但我得到的只是: 我知道我可以使用getFullUser APIendpoint,但是我不希望提出额外的请求。有没有办法将用户名包含到接收到的数据中?
控制台-频道-聊天-发消息 接口URL {youke-url}/console/Index.php?c=live&a=setComment×tamp=1607677497&access_key=abc&sign=5c734d046a244b27ffa74a4235a45a1b3ada5ec7 请求方式 POST Content-Type form-data 请求Query参数 参数 示例
我正在开发一个1:1的聊天应用程序。在启动应用程序之前,我使用PHP服务器创建私有通道。正确创建通道。 生成用户令牌,并正确创建聊天客户端。我看到用户也是在服务中创建的。 它显示消息“正在连接....”然后在出现错误时停止。 PHP代码:
所以我有一个Django应用程序,其中我使用频道来实现实时聊天。我的消费者看起来像这样: 导入json从asgiref.sync导入async_to_sync从channels.generic.websocket导入WebSocket消费者 因此,我正在寻找一种方法来保存发送的消息(因为当前它们在刷新时丢失)。我已经创建了一个消息模型,其中消息文本有一个CharField。如果我在聊天室信息功能中
控制台-频道-聊天-删除消息 接口URL {youke-url}/console/Index.php?c=live&a=deleteComment×tamp=1607677497&access_key=abc&sign=6513239c21beabd37f043d8f8c85ad655afcada0 请求方式 POST Content-Type form-data 请求Query参数 参
控制台-频道-聊天-获取消息 接口URL {youke-url}/console/Index.php?c=live&a=getComment×tamp=1607677497&access_key=abc&sign=97d791101db8600e162935d43cc63f0e3510cb98 请求方式 POST Content-Type form-data 请求Query参数 参数 示