如何通过Telegram CLI使用用户ID而非用户名添加用户到频道?
解决Telegram-cli通过用户ID邀请进频道的问题
我明白你的困扰——channel_invite命令用用户名能正常工作,但直接传数字ID就失效,这确实是因为telegram-cli对参数格式有特定要求,纯数字ID无法被识别为有效的用户对象。下面是具体的解决方法:
核心原因
channel_invite的第二个参数需要的是peer标识符,而不是原始数字ID。纯数字ID没有明确标识类型(用户/群组/频道),所以cli无法正确解析,必须加上类型前缀来指定这是一个用户peer。
解决方案:使用带前缀的用户ID格式
直接在数字ID前加上user前缀,就能让telegram-cli正确识别目标用户。修改后的命令如下:
bin/telegram-cli -W -e "channel_invite My_Channel user12345678"
这个命令应该能正常执行,实现仅通过用户ID邀请进频道的需求。
验证方法(可选)
如果你不确定peer格式是否正确,可以先在telegram-cli的交互模式下验证用户信息:
- 启动交互模式:
bin/telegram-cli -W
- 获取用户详细信息:
get_user 12345678
返回结果中会包含peer字段,格式就是user12345678,直接把这个值用到channel_invite命令里即可。
内容的提问来源于stack exchange,提问作者rockstardev
相关产品推荐
相关产品推荐

