一共需要获取两个值
telegramBotToken和telegramBotUserId
以下简称token和ID
获取 token 值
在Telegram搜索【@BotFather】
创建机器人
点击【开始】
点击【/newbot】
然后BotFather机器人回复
Alright, a new bot. How are we going to call it? Please choose a name for your bot. 是机器人名称输入自己喜欢的就行
回复自己想要的名称后BotFather机器人会让你输入机器人的ID
Good. Now let’s choose a username for your bot. It must end in bot
. Like this, for example: TetrisBot or tetris_bot. 输入一个机器人id并以bot以尾如 child08bot 、qwe_jd_bot
如果重复则显示下面那句
Sorry, this username is already taken. Please try something different. 是机器人ID已经存在
创建机器成功则显示如下:
获UserID值
cf 加速代理配置
登录cloudflare
添加托管域名
参考
托管添加完成后选择一个域名进去。例如我选择第一个
选择DNS
然后显示如下图
添加一个A 记录的解析 ipv4 地址 随便写能ping通就行 这里我写:8.8.8.8 Name (required)是名称如果使用主域名就填 @ 我这里用子域:tgbot
示例:
主域是:xxx.com
填 @ 那访问就是 xxx.com
填tgbot 那访问就是 tgbot.xxx.com
然后点保存[Save]
添加工作路由[Workers Routes]
创建一个服务
Service name 填写自己喜欢的名称后面绑定自己域名的时候会用到。
点击[Quick edit] 进入编辑
把下面代码复制到左边的框中 然后把[888518123]改成你自己机器人的那个数值
const whitelist = ["/bot888518123:"];
const tg_host = "api.telegram.org";
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
function validate(path) {
for (var i = 0; i < whitelist.length; i++) {
if (path.startsWith(whitelist[i]))
return true;
}
return false;
}
async function handleRequest(request) {
var u = new URL(request.url);
u.host = tg_host;
if (!validate(u.pathname))
return new Response('Unauthorized', {
status: 403
});
var req = new Request(u, {
method: request.method,
headers: request.headers,
body: request.body
});
const result = await fetch(req);
return result;
}
点击[Save and deploy]保存
添加HTTP Routes
对接奥特曼
给qq或微信机器人发送
set tg url 你的域名(要https协议如:https://tgbot.xxx.com)
set tg token 申请机器人的token
set tg masters 填定通过@getuseridbot获取的ID
或者进入奥特曼后台
系统参数———TG框架设置
评论区