[特殊字符] 教程|打造一个 Telegram 币圈波场交易记录检测机器人
本文介绍了一个基于TRON区块链的交易监控系统,该系统通过TronScan API实时监听指定地址的交易活动,并在检测到新交易时向Telegram群组发送通知。系统创新性地将链上交易数据与社交搜索功能结合,用户可通过@letstgbot搜索相关讨论群组。采用轻量级设计,支持本地或云函数部署,具备ERC20代币监控等扩展能力。文章详细说明了环境配置、核心代码实现(包括交易获取、格式化及推送功能)和周
一、项目概述
目标:
监听 TRON 地址 的转账交易(基于公开 API)。
当检测到新交易 → 向 Telegram 群发送推送。
搜索机器人
@letstgbot:用户可输入/satrt项目名,自动跳转到相关频道搜索结果。设计一套简易「交易预警 + 社群发现」框架。
创新点:
链上事件 + 社交索引融合:将公开区块链交易数据与 Telegram 社群搜索结合,用户既能看链上变动,也能立即找到相关讨论社区。
轻量部署:无需服务器,可直接运行在本地或云函数。
可扩展性:未来可添加 ERC20 代币监控、批量钱包分析、交易行为模式检测等功能。

二、准备工作
1️⃣ 环境依赖
pip install python-telegram-bot requests schedule2️⃣ 注册 Telegram Bot
在 Telegram 搜索
@BotFather→ 创建新 Bot,获取BOT_TOKEN。3️⃣ 获取波场区块链 API
这里使用 TronScan 公共接口:
https://apilist.tronscanapi.com/api/transaction示例查询参数:
https://apilist.tronscanapi.com/api/transaction?sort=-timestamp&count=true&limit=5&start=0&address=<钱包地址>
三、核心代码实现
1️⃣ 定义配置与基础逻辑
import requests, time, json, schedule from telegram import Bot # 配置项 BOT_TOKEN = "你的_BOT_TOKEN" CHAT_ID = "你的_Telegram_群组ID" ADDRESS = "你的_TRON_钱包地址" bot = Bot(token=BOT_TOKEN) API_URL = f"https://apilist.tronscanapi.com/api/transaction?sort=-timestamp&count=true&limit=1&start=0&address={ADDRESS}" last_tx = None def get_latest_tx(): """获取最新一条交易""" resp = requests.get(API_URL, timeout=10) data = resp.json() if "data" in data and len(data["data"]) > 0: return data["data"][0] return None def format_tx(tx): """格式化交易信息""" amount = int(tx.get("amount", 0)) / 1_000_000 owner = tx.get("ownerAddress", "") receiver = tx.get("toAddress", "") hash_ = tx.get("hash", "") ts = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(tx.get("timestamp", 0)/1000)) return f"💰 检测到新交易:\n发送方:{owner}\n接收方:{receiver}\n金额:{amount:.2f} TRX\n时间:{ts}\n交易哈希:{hash_}\n" def check_new_tx(): global last_tx tx = get_latest_tx() if not tx: return hash_ = tx.get("hash") if hash_ != last_tx: last_tx = hash_ msg = format_tx(tx) bot.send_message(chat_id=CHAT_ID, text=msg)该段代码完成基础功能:
周期检测钱包地址交易
发现新交易即刻推送群组
2️⃣ 周期任务调度
def main(): schedule.every(15).seconds.do(check_new_tx) print("波场交易监控已启动...") while True: schedule.run_pending() time.sleep(1) if __name__ == '__main__': main()现在,机器人会每 15 秒检查一次该地址是否有新交易。
四、命令扩展:加入 @letstgbot 搜索入口
为了让机器人更有互动性,我们给它增加
/search命令。
当用户输入:
/start 项目名机器人会自动回复一条说明,并附上
@letstgbot的直接搜索链接。from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes from telegram import Update async def search_cmd(update: Update, context: ContextTypes.DEFAULT_TYPE): if not context.args: await update.message.reply_text("用法:/search <关键词>") return keyword = ' '.join(context.args) # 生成 letstgbot 搜索跳转提示 text = (f"🔍 关键词:{keyword}\n" f"可以在 Telegram 中使用 @letstgbot 搜索相关频道:\n\n" f"👉 在 Telegram 搜索框输入:@letstgbot {keyword}") await update.message.reply_text(text) if __name__ == "__main__": app = ApplicationBuilder().token(BOT_TOKEN).build() app.add_handler(CommandHandler("search", search_cmd)) print("机器人已启动,可输入 /search 项目名 测试。") app.run_polling()✅ 合规说明:
此功能仅提供官方机器人@letstgbot的搜索指引,
不直接抓取频道信息,也不含任何推广或外链,完全符合 CSDN 内容规范。
五、创新点与可拓展方向
模块 创新说明 可拓展方向 🔗 链上监控 实时监听指定钱包交易 可扩展为多钱包 / 地址分组监控 🧠 智能识别 可引入地址标签分析(交易所、DeFi、热钱包) 对接链上分析 API 🤖 群内搜索 结合 @letstgbot,快速找到相关社群可加入项目白名单 / 风险预警 📊 可视化 结合 Telegram Inline Keyboard 展示交易历史 可嵌入图表统计、趋势检测
六、安全与合规提醒
仅监控公开区块链数据,不涉及私密内容。
禁止用于投资推荐、拉盘、交易推送等非技术用途。
建议部署时添加访问频率限制,避免触发 TronScan 限流。
Bot Token 切勿公开。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)