【发布时间】:2018-01-06 21:58:35
【问题描述】:
假设,我加入了TELEGRAM 组...
我只是 GROUP 的典型成员(因此,不能在那里使用任何机器人......?)所以,我无法找到方法,如何获取 GROUP ID。
【问题讨论】:
-
有很多方法可以做到这一点。最简单的一个:download plus messenger,它是电报的一个分支。它在该频道的“关于”页面中显示每个频道的 ID
标签: telegram
假设,我加入了TELEGRAM 组...
我只是 GROUP 的典型成员(因此,不能在那里使用任何机器人......?)所以,我无法找到方法,如何获取 GROUP ID。
【问题讨论】:
标签: telegram
根据我的经验,有两个流行的库,
python-Telethon --->Telegram Client Library(uses api_id,api_hash)
python-Telegram-bot ---->Telegram Bot (uses api token)
有很多方法可以获取 user_id ,group_id,channel_id 。 要获取这些 id,请使用 Telethon 客户端库
from telethon import TelegramClient,sync
api_id="xxx" #get from telegram website
api_hash="yyy" #get from telegram website
client=TelegramClient(session_object,api_id,api_hash)
client.start()
#To get the channel_id,group_id,user_id
for chat in client.get_dialogs():
print('name:{0} ids:{1} is_user:{2} is_channel{3} is_group:{4}'.format(chat.name,chat.id,chat.is_user,chat.is_channel,chat.is_group))
就是这样,它将打印频道、组、用户的名称和 ID。 此外,它会检查 id 是否属于频道或组或用户
通常,频道 id 以负数开头(例如:-1001109500936)以(-100)开头 group id 正常,以负数开头 用户 id 以 positve 开头
另一种方法是使用“plus messanger app” 查看所有组、频道、用户 ID 干杯
另一种简单的方法,
client=TelegramClient(session,api_id,api_hash)
client.start()
destination_entity_name="Type User(may be bot) or group or channel name"
entity=client.get_entity(destination_entity_name)
print(entity.stringify()) #All paratmeters
print(entity.id) #user(bot also considered as user) or group
【讨论】:
新更新
只需将您频道中的消息转发到此机器人:(https://telegram.me/getidsbot)
更新
1:转到 (https://web.telegram.org)
2:转到您的 Gorup 并找到您的 Gorup 链接(https://web.telegram.org/#/im?p=g154513121)
3:在 g 之后复制那个数字并在那个之前放一个 (-) -154513121
4:将您的信息发送给 Gorup
bot.sendMessage(-154513121, "Hi")
我现在测试并像魅力一样工作
Node.js:
尝试使用TelegramBot#getChat():
bot.getChat("@channelusername").then(function(chat) {
// 'chat' is a Chat object
console.log(chat.id);
});
参见API getChat() 方法和Chat 对象。
希望对您有所帮助。
【讨论】:
../im?p=@GroupSlugName
邀请您的机器人加入您的群组
并使用您的机器人发送文本 /myid
然后使用 GetUpdates api,您将拥有您的组 ID
【讨论】:
花了几个小时后,我能够使用 CuteGram 应用找到 GROUPS 的 ID。
在那里打开组,然后单击“复制”图标,打开一个文件夹,在地址中您将看到 ID。
【讨论】:
通过代码:
如果您是某个群组的成员,那么当该群组有任何活动时,您应该会收到来自该群组的updates。更新将包含一个chats 列表元素,您可以从中获得一个Channel,它具有以下相关字段:
id: group_id,
title: "the_group_title",
username: "group_username"
【讨论】:
getUpdates,但是普通用户呢?我在这些组中没有机器人..
有很多方法可以做到这一点。
最简单的一个:下载加信使,它是电报的一个分支。它会在该频道的关于页面中显示每个频道的 ID。
https://play.google.com/store/apps/details?id=org.telegram.plus&hl=en
感谢@Sean:
Supergroup 和 Channel 看起来像 1068773197,对于机器人来说是 -1001068773197(带有 -100 前缀)。
以上方法适用于频道,群组可以使用此方法:
只需将该聊天中的一条消息转发给@RawDataBot。它会回复你一个包含 chatid 的 json 数据。
【讨论】:
Android 用户有一个unoficicl Plus Messenger 客户端,您可以在群组/频道信息中看到 ID。
Supergroup 和 Channel 看起来像 1068773197,对于机器人来说是 -1001068773197(带有 -100 前缀)。
如果您只是想获取频道/用户ID,请转发消息至@RawDataBot。
【讨论】:
这应该可以使用 tg-messenger-cli 获得:https://github.com/vysheng/tg 我还没有时间尝试,但朋友已经为他的女儿发送了一些自动消息。应该是相当多才多艺的。
【讨论】: