【问题标题】:How to get discord bot to create a channel如何让不和谐机器人创建频道
【发布时间】:2020-12-28 13:12:47
【问题描述】:

我有一个从网页抓取信息的脚本。我希望我的不和谐机器人使用网页中的产品标题创建一个频道(此产品标题每次都会有所不同,具体取决于我正在抓取的页面)。无论如何,我希望它抓取网页,阅读产品标题,使用所述产品名称创建一个频道,然后将嵌入发送到它创建的新频道中。如果您需要更多信息,请询问我会尽力回答,我对编码还很陌生...

async def start(ctx):

Code that __scrapes__ webpage...

# Discord Embed Setup   
    embed = Embed(
        description=" ",
        color=0x0d0d22,
        timestamp='now'  # sets the timestamp to current time
        )#f'[{name}]({link})'

    embed.set_title(title="**__"+Titles+"__**", url=ProductLink)

    embed.add_field(name="**Release Date**", value=Dates, inline=False)
    embed.add_field(name="**Retail**", value=Prices, inline=False)
    embed.add_field(name="**Colorway**", value=ColorWay, inline=False)
    embed.add_field(name="**PID**", value=PIDs, inline=False)
    embed.add_field(name="**Raffle**", value="**"+f'[{Link}]({RaffleLink})'+"**", inline=False)
    embed.add_field(name="**Resell**", value="**"+f'[{stock}]({StockXSearch})'+"|"+f'[{goat}]({GoatSearch})'+"**", inline=False)

    embed.set_footer(text='Test', icon_url=ICON)

    embed.set_image(image.get_attribute('src'))

    await ctx.send(embed=embed)

    print("Embed sent to discord!")

@client.command()
async def release(ctx):
    await start(ctx)

【问题讨论】:

  • 你想要公会(服务器)对象的create_text_channel 方法。
  • 好吧,我不知道该怎么做。我尝试了多种方法,但总是遇到错误。可以举个例子吗?
  • 好吧,client.guilds 将返回托管机器人的公会(服务器)。找到正确的(第一个也是唯一一个?),我将其称为guild。然后使用await guild.create_text_channel("Channel Name")。展示你的努力和你遇到的错误。您的问题目前包含与您的问题无关的奇怪代码。

标签: python discord.py


【解决方案1】:

你可以像这样创建它并向它发送消息。

@bot.command()
async def create(ctx):
    channel = await ctx.guild.create_text_channel('Name here')
    await channel.send('Text in channel')

【讨论】:

  • 这会创建频道但不发送消息我收到错误Command raised an exception: NameError: name 'channel' is not defined
  • 我自己做的,它成功了image 确保机器人有权查看频道。
  • 机器人有管理员权限。
  • 出了什么问题?
【解决方案2】:

你可以像我上面的那个人那样做,但是如果你想为频道做你自己的名字,你可以这样做:

@bot.command()
async def create(ctx, name):
    channel = await ctx.guild.create_text_channel(name)
    await channel.send('Text in channel')

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 2020-09-06
    • 2020-10-15
    • 2019-06-24
    • 2023-04-05
    • 2020-08-25
    • 2020-10-15
    • 1970-01-01
    • 2018-07-07
    相关资源
    最近更新 更多