telegram机器人如何设置访问白名单
5 个回答
可以这样搞:机器人代码中加入判断逻辑,获取用户chat_id与自己维护的白名单id(列表或数据库)对比,如果不在白名单就回复无权限,其他请求忽略即可。id记得存成字符串比较保险。逻辑加完记得测试下异常情况。
可以使用中间件拦截用户ID,只放行白名单用户。比如用python的TeleBot,在接收消息前加一句判断用户ID的语句即可。简单粗暴。
或者部署在Heroku之类的平台,直接配置环境变量存储允许的ID,每次请求都做一下校验。代码量也不多,网络教程多的是,搜“tg bot 白名单”就出来了。
你可以通过中间件或者自定义逻辑校验用户ID,允许白名单用户触发指令,比如python的telebot在路由前校验用户ID即可,其他语言类似,简单暴力有效。
你可以通过记录用户ID,身份验证的方式,每次收到消息后,先校验是否是白名单用户,否则直接不处理或者提示权限不足。代码逻辑上加一个判断。
可以在代码中增加判断用户,获取用户ID或者用户名与白名单比对,匹配则执行命令,不匹配则跳过,这样就实现了限制只有某些人才能使用。
具体怎么加看你的开发语言和框架。比如Python,可以用一个列表存白名单ID,每次请求时判断ID是否在列表里。简单粗暴有效。
但是要注意白名单不能泄露出去,其他用户的问题就不要理会了,直接无视。