我一直在使用telegram_bot,并试图获得groupChat id发送通知到组聊天,但不知道我必须使用哪些方法。

为了获得聊天id,当机器人参与聊天时,我使用message.chat.id,但我必须使用它来获得组聊天id,无法找到/


当前回答

使用python和telethon,很容易获得聊天id。这个解决方案最适合那些使用电报API的人。

如果你没有电视马拉松,运行这个:

pip install telethon

如果你没有telegram的注册应用,注册一个: 链接如下:https://my.telegram.org/

然后运行以下代码:

from telethon import InteractiveTelegramClient
from telethon.utils.tl_utils import get_display_name

client = InteractiveTelegramClient('session_id', 'YOUR_PHONE_NUMBER', api_id=1234YOURAPI_ID, api_hash='YOUR_API_HASH')

dialog_count = 10
dialogs, entities = client.get_dialogs(dialog_count)
for i, entity in enumerate(entities):
                    i += 1  # 1-based index
                    print('{}. {}. id: {}'.format(i, get_display_name(entity), entity.id))

您可能希望向您的群组发送消息,以便该群组显示在列表顶部。

其他回答

我想说的是一个非常具体的案例让我绕开了它。

我已经得到了上面步骤的chat_id格式如-1001379XXXXXX。因此,我假设真实的id是1001379XXXXXX,并将其以这样的格式留给grafana管理页面。但事实上,id得到了这个,作为积分部分。如果真的需要和数字一起复制。

你可以通过这种方式获取聊天ID。

在与机器人的私人聊天中,随机发送一条消息。稍后您将搜索此消息。

从bot_father: XXXXXXXXX: yyyyyyyyyyyyyyyyyyyyy_yy获取api令牌

然后,在浏览器上使用该url发出请求:

https://api.telegram.org/botXXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY/getUpdates

请求返回一个json响应,在json文本中搜索你的随机消息,并在该对象中获得聊天id。

您可以通过向bot userinfobot发送/start消息来获得您的id

注意:一旦你在telegram中搜索userinfobot,你会得到很多回复。 确保你选择了带有@bot标签的那个

截至2021年5月,简单地说:

邀请@RawDataBot到你的组。

加入后,它将输出一个JSON文件,其中您的聊天id将位于message.chat.id。

"message": {
    "chat": {
        "id": -210987654,
        "title": ...,
        "type": "group",
        ...
    }
    ...
}

之后一定要把@RawDataBot从组中踢出去。

我现在测试了4h,但它不工作2021与群聊id。错误{"ok":true,"result":[]}

但现在我找到了一个解决方案:

1)安装“Plus Messenger”(https://play.google.com/store/apps/details?id=org.telegram.plus)

2:)进入群组=>现在在群组头部点击“Group- name”=>现在在群组标题上双击。信息即将到来:ID123456789是剪贴板中的副本

3:)进入组,粘贴剪贴板文本。是你,地面id

4:)看起来像1068773197,这是机器人的-1001068773197(有-100前缀)!!

顺便说一下,你也可以在你的个人资料上看到用户id。

5:)现在转到web浏览器,发送这行(测试消息):

https://api.telegram.org/botAPITOKENNUMBER:APITOKENKEYHERE/sendmessage?chat_id=-100GROUPNUMBER&text=test

编辑API令牌和Group-ID!