去评论
dz插件网

Telegram 自动发布机器人

镖师
2024/10/20 18:14:15
要实现一个 Telegram 自动发布机器人,每天晚上1-2点之间随机时间发送固定文字内容和当天 USDT 的实时汇率,您可以使用 Python 和 Telegram Bot API 来编写这个自动化任务。下面是一个大致的实现思路:步骤1: 创建 Telegram Bot
步骤2: 获取 USDT 实时汇率要获取 USDT 的实时汇率,您可以使用一些免费或者付费的 API 服务,例如:
通过请求这些 API,您可以获取到 USDT 的汇率信息。CoinGecko 获取 USDT 到 CNY 汇率的代码示例:
  1. import requestsdef 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']
步骤3: 定时任务使用 Python 中的 schedule 库可以非常方便地设定定时任务。同时,您可以使用 random 模块来生成一个随机的时间点在 1-2 点之间。安装库:
  1. pip install schedule
设定随机时间和任务的代码示例:
  1. import scheduleimport randomimport timeimport requestsfrom datetime import datetimefrom telegram import Bot# 初始化 Telegram Botbot_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 分钟检查一次
步骤4: 运行脚本确保服务器或者计算机一直运行这个脚本,您可以使用 nohup 或者类似工具保持它在后台持续运行。这样,您的机器人每天会在 1-2 点的随机时间发送设定的消息和 USDT 汇率。