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

如何让Python开发的Discord bot触发Tatsu等其他第三方bot的响应

核心原因

Tatsu 内置 Bot 过滤规则,默认忽略所有来自 Bot 账号发送的指令,一是为了防止 Bot 间循环触发引发消息风暴,二是避免恶意脚本刷游戏资源。你通过标准 Discord Bot 接口发送的消息会自带 Bot 标识,Tatsu 识别后会直接跳过处理,和指令内容本身无关。

可行实现方案
  • 方案1:使用 self-bot 调用用户账号接口发送消息
    该方案通过第三方库绕过标准 Bot 接口,用普通用户账号的身份发送消息,消息不会带 Bot 标识,Tatsu 会正常响应。注意该方式违反 Discord 服务条款,一旦检测到会直接封禁你的 Discord 账号,风险极高。
    你可以使用 discord.py-self 库替换原有标准 discord.py 库实现,示例代码如下:
    import discord
    from discord.ext import commands
    
    # 开启self_bot模式,使用你的普通用户账号Token登录
    bot = commands.Bot(command_prefix="!", self_bot=True, intents=discord.Intents.all())
    
    @bot.event
    async def on_ready():
        # 替换为目标频道ID
        target_channel = bot.get_channel(1234567890)
        await target_channel.send("t!fish")
        print("指令发送完成")
    
    bot.run("你的用户账号Token")
    
    注意不要泄露你的用户账号Token,避免账号被盗。
  • 方案2:键鼠自动化模拟手动操作
    该方案不调用 Discord 任何接口,完全模拟真人手动点击输入框、输入指令、回车发送的操作,等同于你自己手动操作,不会触发 Discord API 层面的检测,风险远低于 self-bot,唯一缺点是需要保持 Discord 窗口在前台运行,不能最小化。你可以用 pyautogui 库实现,示例代码如下:
    import pyautogui
    import time
    
    # 首次使用先运行下方代码获取Discord输入框的屏幕坐标,运行后5秒内把鼠标移到输入框上即可获取
    # time.sleep(5)
    # print(pyautogui.position())
    # 替换为你自己的输入框坐标
    input_box_coord = (200, 950)
    
    # 点击激活输入框
    pyautogui.click(input_box_coord)
    time.sleep(0.2)
    # 输入指令
    pyautogui.typewrite("t!fish")
    time.sleep(0.1)
    # 按下回车发送
    pyautogui.press("enter")
    
  • 方案3:硬件宏模拟输入
    你可以使用支持宏编程的键盘/鼠标,设置触发宏自动完成输入t!fish加回车的操作,原理和键鼠自动化一致,完全模拟硬件输入,不会被任何软件检测到。
注意事项
  • 无论使用哪种方案,Tatsu 自身也有反作弊检测,如果发送指令的频率过于固定、远快于普通人类手速,会被 Tatsu 判定为作弊,导致你的 Tatsu 账号游戏数据清零、甚至被封禁无法使用 Tatsu 功能,建议设置随机发送间隔,比如每30秒到2分钟随机发送一次,不要用固定间隔。
  • 优先选择键鼠模拟或者硬件宏方案,self-bot 封号风险过高,不建议长期使用。

内容的提问来源于stack exchange,提问作者Allen Wei

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 08:24:04