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

Discord.py代码执行出现额外多余文本问题如何解决

Discord.py 多余输出问题修复方案

错误原因

你代码中传给message.channel.send()的参数是生成器表达式 random.choice(symbols) for x in range(6),Discord.py 无法直接识别生成器对象,会直接输出生成器的对象描述文本,这就是多余输出的来源。你观察到的末尾动态变化的6位字符是生成器对象内存地址的字符片段,不是你预期生成的随机验证码。

修复代码

你需要先把6个随机字符拼接为完整的字符串,再调用发送接口,修复后代码如下:

import random
import discord
from discord.ext import commands

# 随机字符池
symbols = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
# 请补充你自己的client初始化逻辑,示例如下:
# intents = discord.Intents.default()
# intents.message_content = True
# client = commands.Bot(command_prefix='!', intents=intents)

@client.event
async def on_message(message):
    # 过滤机器人自身发送的消息,避免死循环
    if message.author.bot:
        return
    if message.content.startswith('Код'):
        # 拼接6位随机字符串
        verify_code = ''.join(random.choice(symbols) for _ in range(6))
        await message.channel.send(verify_code)

补充说明

  • 如果你需要给验证码增加固定提示文本,直接拼接字符串即可,示例写法:
    await message.channel.send(f"你的验证码是:{verify_code}")
  • 注意必须开启message_content权限,否则机器人无法读取消息内容,无法触发对应逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:54:04