Telegram 自动发布机器人

查看 24|回复 1
作者:新程序已上线   
要实现一个 Telegram 自动发布机器人,每天晚上1-2点之间随机时间发送固定文字内容和当天 USDT 的实时汇率,您可以使用 Python 和 Telegram Bot API 来编写这个自动化任务。下面是一个大致的实现思路:步骤1: 创建 Telegram Bot
  • 在 Telegram 中找到 BotFather,使用 /start 命令开始创建机器人。
  • 使用 /newbot 命令为您的机器人取一个名字和用户名,然后您会获得一个 Bot Token,类似于 123456789:ABC-DEF1234ghIkl-zyx57W2v1u123ew11。这个 Token 将用于您的代码中来控制机器人。
    步骤2: 获取 USDT 实时汇率要获取 USDT 的实时汇率,您可以使用一些免费或者付费的 API 服务,例如:
  • [color=var(--color-accent-fg)]CoinGecko API
  • [color=var(--color-accent-fg)]Binance API
    通过请求这些 API,您可以获取到 USDT 的汇率信息。CoinGecko 获取 USDT 到 CNY 汇率的代码示例:[ol]
  • import requests
  • def get_usdt_cny_rate():
  •     url = 'https://api.coingecko.com/api/v3/simple/price?ids=tether&vs_currencies=cny'
  •     response = requests.get(url)
  •     data = response.json()
  •     return data['tether']['cny']
  • [/ol]复制代码步骤3: 定时任务使用 Python 中的 schedule 库可以非常方便地设定定时任务。同时,您可以使用 random 模块来生成一个随机的时间点在 1-2 点之间。安装库:[ol]
  • pip install schedule
  • [/ol]复制代码设定随机时间和任务的代码示例:[ol]
  • import schedule
  • import random
  • import time
  • import requests
  • from datetime import datetime
  • from telegram import Bot
  • # 初始化 Telegram Bot
  • bot_token = '您的 Telegram Bot Token'
  • bot = Bot(token=bot_token)
  • chat_id = '您的 Chat ID'  # 您要发送消息的聊天ID
  • # 获取 USDT 实时汇率
  • def get_usdt_cny_rate():
  •     url = 'https://api.coingecko.com/api/v3/simple/price?ids=tether&vs_currencies=cny'
  •     response = requests.get(url)
  •     data = response.json()
  •     return data['tether']['cny']
  • # 自动发送消息
  • def send_message():
  •     usdt_rate = get_usdt_cny_rate()
  •     message = f"固定文字内容\n当前 USDT 对 CNY 汇率:{usdt_rate}"
  •     bot.send_message(chat_id=chat_id, text=message)
  •     print(f"消息已发送: {datetime.now()}")
  • # 设定随机时间
  • def schedule_random_time_task():
  •     random_minute = random.randint(0, 59)  # 随机分钟
  •     random_hour = random.choice([1, 2])  # 随机选择 1 或 2 点
  •     schedule_time = f'{random_hour:02}:{random_minute:02}'
  •     print(f"设定的发送时间是: {schedule_time}")
  •    
  •     schedule.every().day.at(schedule_time).do(send_message)
  • # 主循环
  • if __name__ == "__main__":
  •     schedule_random_time_task()
  •    
  •     while True:
  •         schedule.run_pending()
  •         time.sleep(60)  # 每隔 1 分钟检查一次
  • [/ol]复制代码步骤4: 运行脚本确保服务器或者计算机一直运行这个脚本,您可以使用 nohup 或者类似工具保持它在后台持续运行。这样,您的机器人每天会在 1-2 点的随机时间发送设定的消息和 USDT 汇率。

    您的, 汇率

  • 码上有钱   

    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部