telegram机器人如何设置访问白名单

少优扬少优扬06月11日2849

我有一个Telegram机器人,想设置访问白名单让指定的人访问使用,不让其他人操作,怎么办啊?大佬请指导一下!

5 个回答

有优瑗
有优瑗回答于 06 月 11 日
最佳答案

可以这样搞:机器人代码中加入判断逻辑,获取用户chat_id与自己维护的白名单id(列表或数据库)对比,如果不在白名单就回复无权限,其他请求忽略即可。id记得存成字符串比较保险。逻辑加完记得测试下异常情况。

雍新月
雍新月回答于 06 月 11 日

可以使用中间件拦截用户ID,只放行白名单用户。比如用python的TeleBot,在接收消息前加一句判断用户ID的语句即可。简单粗暴。

或者部署在Heroku之类的平台,直接配置环境变量存储允许的ID,每次请求都做一下校验。代码量也不多,网络教程多的是,搜“tg bot 白名单”就出来了。

位惜香
位惜香回答于 06 月 12 日

你可以通过中间件或者自定义逻辑校验用户ID,允许白名单用户触发指令,比如python的telebot在路由前校验用户ID即可,其他语言类似,简单暴力有效。

第五千
第五千回答于 06 月 13 日

你可以通过记录用户ID,身份验证的方式,每次收到消息后,先校验是否是白名单用户,否则直接不处理或者提示权限不足。代码逻辑上加一个判断。

朱凝海
朱凝海回答于 06 月 14 日

可以在代码中增加判断用户,获取用户ID或者用户名与白名单比对,匹配则执行命令,不匹配则跳过,这样就实现了限制只有某些人才能使用。

具体怎么加看你的开发语言和框架。比如Python,可以用一个列表存白名单ID,每次请求时判断ID是否在列表里。简单粗暴有效。

但是要注意白名单不能泄露出去,其他用户的问题就不要理会了,直接无视。

您的答案