[TG开发]播报机bot

创建Bot

BotFather介绍

BotFather是 Telegram 平台上的官方机器人,用于创建和管理其他机器人(Bot)。用户需要通过它与 Bot API 进行交互,完成机器人的创建、配置及管理。

创建机器人

1、在 Telegram 中搜索 “BotFather” ,然后单击 “开始” 。

2、在 BotFather 对话框输⼊ /newbot 命令。

3、输⼊机器人的名称(以后可以更改, 可以有中文)和 ⽤户名(Telegram 机器⼈的唯⼀标识符,以后⽆法更改, 必须英文)。【用户名记得以 “Bot” 结尾,或者最简单的直接用户名+Bot作为机器人的名称】

4、修改bot信息

点击菜单, 选择第二个 (/mybots)

5、查询机器人token, 框输⼊ /token命令

创建频道

群组就是群聊, 频道类似于公帐号

使用网页版TG登录,打开频道&群组,在地址栏可以看到 频道ID

网页版TG:https://web.telegram.org/

注意

  • ID前面是有负号的,不要遗漏
  • 在频道设置中,如果频道为公开,直接使用这里的ID -2651277945,如果频道设置为私密,则需要在ID前面加上 100,为-1002651277945

将Bot添加到 频道,设置管理员

新建Node项目

执行 npm init -y 命令, 初始化node项目

安装 node-telegram-bot-api

npm i node-telegram-bot-api

测试一下

注意,本地开发时,需要使用 网络科技 的全局模式

定时播报恐惧贪婪指数

下载axios

npm i axios

下载cron

npm i node-cron

完整代码

const TelegramBot = require('node-telegram-bot-api');
const axios = require('axios');
const cron = require('node-cron');

// Bot token
const token = '';

// 频道ID
const channelId = '';

// 创建 Bot 对象
const bot = new TelegramBot(token);

async function main() {

  try {
    const response = await axios.get('https://api.alternative.me/fng/');
    const data = response.data;

    if (data.data && data.data.length > 0) {
      const latestData = data.data[0];
      let Text = `\n今日贪婪指数: ${latestData.value}\n`

      await bot.sendMessage(channelId, Text);
    }
  } catch (error) {
    console.error('请求贪婪指数失败:', error);
  }

}

// 定时任务,每分钟触发
cron.schedule('0 * * * * *', () => {
  main();
});

部署到服务器

首先在服务器上,安装 NodeJS、NPM

下载 PM2,Nodejs的服务端管理工具

npm install pm2 -g

新建 Rbot文件夹 作为项目根目录, 把源代码上传至根目录下

启动项目

方式1

方式2:

安装依赖

npm intasll

pm2 启动项目

pm2 start index.js --name "Rbot"

可以启动多个node脚本,一起使用Pm2管理,输入

pm2 list

pm2 启动

sudo $(which pm2) start index.js --name "Rbot"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值