我一直在使用telegram_bot,并试图获得groupChat id发送通知到组聊天,但不知道我必须使用哪些方法。
为了获得聊天id,当机器人参与聊天时,我使用message.chat.id,但我必须使用它来获得组聊天id,无法找到/
我一直在使用telegram_bot,并试图获得groupChat id发送通知到组聊天,但不知道我必须使用哪些方法。
为了获得聊天id,当机器人参与聊天时,我使用message.chat.id,但我必须使用它来获得组聊天id,无法找到/
当前回答
如果您正在实现您的bot,则保留存储的组名-> id表,并使用命令询问它。然后还可以按名称发送。
其他回答
我现在测试了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!
您可以以同样的方式检索组ID。它以message.chat.id的形式出现在消息体中,通常是一个负数,而正常的聊天则是正数。
组id和聊天id只能从收到的消息中检索,没有可用的调用来检索活动的组等。收到消息时必须记住组ID,并将其存储在缓存或类似的东西中。
我不明白为什么最明显(可能也是最简单)的答案不在这里。
当你在写一个bot时,你可以用这三行简单的代码获取id:
bot.on('message', (msg) => {
console.log(msg)
})
然后从控制台检查groupId:D
当你可能试图查看groupId,以便能够用你的bot向一个组发送消息时,正确答案可能是这样的:
你不再使用groupId了。您使用组名(带有https://t.me/careless_whisper的组名)加上@前缀。记住,你的小组必须是公开的。来源:Telegram API
因此,如果你的组名是careless_whisper,收件人将是@careless_whisper
我发现的最简单的方法是只使用电报网:
开放网络。电报在浏览器(在我的情况下chrome) 右键单击左侧菜单上的组名 点击“检查”按钮 您将在属性中看到组id Data-peer-id ="-xxxxxxxxxx" or peer="-xxxxxxxxxx"
群聊id: -xxxxxxxxxx
频道聊天id: -100xxxxxxxxxx
(对于某些频道/组,您需要添加-100前缀)
编辑: 在某些情况下,当您单击组名时,ID会显示在浏览器的地址栏中
https://web.telegram.org/z/#-xxxxxxxxxx
使用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))
您可能希望向您的群组发送消息,以便该群组显示在列表顶部。