我一直在使用telegram_bot,并试图获得groupChat id发送通知到组聊天,但不知道我必须使用哪些方法。
为了获得聊天id,当机器人参与聊天时,我使用message.chat.id,但我必须使用它来获得组聊天id,无法找到/
我一直在使用telegram_bot,并试图获得groupChat id发送通知到组聊天,但不知道我必须使用哪些方法。
为了获得聊天id,当机器人参与聊天时,我使用message.chat.id,但我必须使用它来获得组聊天id,无法找到/
当前回答
function adminCheck( chat_id, name ) {
var bAdminCheck = false;
var contents = JSON.parse( getAdmin( chat_id ) );
var i = 0;
while( !bAdminCheck && (i < contents.result.length ) ) {
if( name == (contents.result[i].user.first_name + " " + contents.result[i].user.last_name) ) {
bAdminCheck = true;
}
i++;
}
return bAdminCheck;
}
其他回答
依我看,最好的办法是使用TeleThon,但鉴于apadana的答案已经过时,无法修复,我将在这里写下工作解决方案:
import os
import sys
from telethon import TelegramClient
from telethon.utils import get_display_name
import nest_asyncio
nest_asyncio.apply()
session_name = "<session_name>"
api_id = <api_id>
api_hash = "<api_hash>"
dialog_count = 10 # you may change this
if f"{session_name}.session" in os.listdir():
os.remove(f"{session_name}.session")
client = TelegramClient(session_name, api_id, api_hash)
async def main():
dialogs = await client.get_dialogs(dialog_count)
for dialog in dialogs:
print(get_display_name(dialog.entity), dialog.entity.id)
async with client:
client.loop.run_until_complete(main())
这个片段将为您提供Telegram中的前10次聊天。
假设:
您已经安装了telethon和nest_asyncio 你有来自my.telegram.org的api_id和api_hash
我不明白为什么最明显(可能也是最简单)的答案不在这里。
当你在写一个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
我对错误的第二个解决方案{"ok":true,"result":[]}
加入你的电报群 添加新用户(邀请) 搜索“getidsbot”=> @getidsbot 消息:/ start@getidsbot 现在您看到了ID。看起来像1068773197,对于bot来说是-1001068773197(前缀是-100)!! 把机器人踢出群组。 现在转到web浏览器,发送这一行(测试消息):
https://api.telegram.org/botAPITOKENNUMBER:APITOKENKEYHERE/sendmessage?chat_id=-100GROUPNUMBER&text=test
编辑API令牌和Group-ID!
群组聊天id应该以-(减号)开头
This is wrong
10540154212
This is correct
-10540154212
您可以以同样的方式检索组ID。它以message.chat.id的形式出现在消息体中,通常是一个负数,而正常的聊天则是正数。
组id和聊天id只能从收到的消息中检索,没有可用的调用来检索活动的组等。收到消息时必须记住组ID,并将其存储在缓存或类似的东西中。