You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Telethon中设置每1分钟发送消息的提醒,能否使用currentime变量实现

Telethon 1分钟定时发消息实现方案

你提到的currentime(当前时间变量)完全可以实现该需求,下面分别给出基于时间变量的准点发送方案,和更简单的固定间隔发送方案:

方案1:基于当前时间变量的准点发送(对应用你提到的currentime逻辑)

该方案可以实现每到整分钟就发送消息,逻辑如下:

  • 导入time、asyncio和Telethon核心模块
  • 初始化Telethon客户端并完成账号认证
  • 循环内每次获取当前时间戳赋值给current_time(即你提到的currentime变量),计算距离下一个整分钟的等待时长
  • 等待结束后执行发送逻辑,循环往复

可运行代码示例:

import asyncio
import time
from telethon import TelegramClient

# 替换为你自己的API参数,可在Telegram官方开发者平台申请
API_ID = 123456
API_HASH = '你的API_HASH值'
PHONE_NUMBER = '你的账号绑定手机号'

# 配置发送参数
TARGET_CHAT = '目标用户名/聊天ID/群组链接'
SEND_CONTENT = '你要定时发送的指定消息内容'

client = TelegramClient('session存储文件名', API_ID, API_HASH)

async def timed_send():
    await client.start(PHONE_NUMBER)
    while True:
        current_time = time.time() # 对应你提到的currentime变量
        # 计算到下一个整分钟的等待秒数
        wait_seconds = 60 - (current_time % 60)
        await asyncio.sleep(wait_seconds)
        # 执行消息发送
        await client.send_message(TARGET_CHAT, SEND_CONTENT)
        # 可选:打印发送日志便于排查问题
        print(f"消息已在{time.ctime()}发送成功")

if __name__ == '__main__':
    asyncio.run(timed_send())

方案2:固定间隔1分钟发送(无需手动计算时间差)

如果你不需要严格对齐整分钟发送,只要求两次发送间隔1分钟,用更简洁的异步等待即可:

import asyncio
from telethon import TelegramClient

API_ID = 123456
API_HASH = '你的API_HASH值'
PHONE_NUMBER = '你的账号绑定手机号'
TARGET_CHAT = '目标用户名/聊天ID/群组链接'
SEND_CONTENT = '你要定时发送的指定消息内容'

client = TelegramClient('session存储文件名', API_ID, API_HASH)

async def interval_send():
    await client.start(PHONE_NUMBER)
    while True:
        await client.send_message(TARGET_CHAT, SEND_CONTENT)
        await asyncio.sleep(60) # 发送完成后等待60秒再执行下一次发送

if __name__ == '__main__':
    asyncio.run(interval_send())

注意事项

  • 首次运行需要输入手机号收到的验证码完成账号登录,后续会自动读取本地session文件无需重复验证
  • 必须使用asyncio.sleep而不是同步的time.sleep,后者会阻塞Telethon的异步事件循环,导致客户端掉线、消息发送失败等问题
  • 若发送目标为群组/频道,需要确认你的账号有对应聊天的发送权限,新账号频繁发送消息可能触发官方风控限制

内容的提问来源于stack exchange,提问作者Henok Belachew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 12:54:04