我正在开发一个Telegram bot,它只能由其所有者访问(只有所有者才能将其添加到组或在搜索中查看)。是否有可能通过电报服务(如BotFather)实现这一目标,或者如果向机器人发送消息的人是所有者,我应该检查我的代码吗?
答案 0 :(得分:10)
您可以在设置中执行此操作,您需要自行检查,如果.message.from.id
不等于您的,请退出程序。
您可以通过/setjoingroup
停用加入群组,但不能邀请僵尸程序进行分组。
答案 1 :(得分:4)
BotFather无能为力。 唯一的方法是在你的代码中检查它。
答案 2 :(得分:4)
几周前,我开始研究电报的机器人。为此,我已经阅读了规范,无法通过botfather创建私有bot。唯一的方法是使用自定义命令(例如/ password)将密码发送给漫游器,然后保留客户端的聊天ID(当然,密码正确时...)。您的机器人只需要接受来自记忆/修正的聊天ID的命令,就像您对其他任何应用程序所采用的经典方式一样。
答案 3 :(得分:2)
电报文档中描述了另一个选项。
您可以使用 deeplink 从链接中获取唯一密钥并保护您的机器人。 拒绝任何没有密钥的人访问您的代码。
来自文档:
$memcache_key = "vCH1vGWJxfSeofSAs0K5PA"
$memcache_key
的值 123 放入 Memcache 3600 秒(一小时)telegram_chat_id
。从 Memcache 中删除该密钥。telegram_chat_id
字段。如果是,请使用 Bot API 中的 sendMessage
方法在 Telegram 中向他们发送消息。答案 4 :(得分:1)
您可以在代码中检查聊天ID(9位数字)。
例如,如果您使用this包装器来创建机器人,则可以使用update.message.chat_id
来获取聊天ID。您还可以检查名字(update.message.from_user.first_name
)和姓氏(update.message.from_user.last_name
)。