Discord python 3.6用户请求的加入-离开通道
我正在制作一个具有加入-离开消息的bot,但我需要设置它,以便用户可以发送并指定他们希望在哪个频道发布消息 例如: 用户:。请离开 Bot:请发送希望发送加入/离开消息的频道id。 用户:[频道ID] 机器人:谢谢!加入休假消息将在[频道ID]中发布 到目前为止,我所拥有的:Discord python 3.6用户请求的加入-离开通道,discord,python-3.6,discord.py,Discord,Python 3.6,Discord.py,我正在制作一个具有加入-离开消息的bot,但我需要设置它,以便用户可以发送并指定他们希望在哪个频道发布消息 例如: 用户:。请离开 Bot:请发送希望发送加入/离开消息的频道id。 用户:[频道ID] 机器人:谢谢!加入休假消息将在[频道ID]中发布 到目前为止,我所拥有的: @client.event async def on_member_join(member): role = discord.utils.get(member.server.roles, name='
@client.event
async def on_member_join(member):
role = discord.utils.get(member.server.roles, name='Member')
await client.add_roles(member, role)
embed = discord.Embed(title="{}'s info".format(member.name), description="New Member!!!", color='Blue')
embed.add_field(name="Name", value=member.name, inline=True)
embed.add_field(name="ID", value=member.id, inline=True)
embed.add_field(name="Status", value=member.status, inline=True)
embed.add_field(name="Roles", value=member.top_role)
embed.add_field(name="Joined", value=member.joined_at)
embed.add_field(name="Created", value=member.created_at)
embed.set_thumbnail(url=member.avatar_url)
inlul = client.get_channel("")
await client.send_message(inlul, embed=embed)
我想我会发出一个命令,名为“.joinleave”,这是他们输入频道ID的地方。我只是不知道如何保存来自多个服务器的信息,每个服务器的信息会有所不同。然后将其传递给@client.event。您将需要一个全局变量,该变量使用服务器ID作为键,使用通道ID作为值。问题是把它保存到。我有两种解决办法
一个文件
制作一个名为server\u channels.txt
的文件,并为每个服务器设置一行。首先,它将显示服务器ID,然后是通道ID。它将如下所示:
[server id 1] [channel id 1] # just replace each of these
[server id 2] [channel id 2]
...
每当bot启动时,您都需要解析此文件并将其放入字典中。每当字典更新时,您还需要更新文件
多个文件
不要读取整个文件,而是创建一个名为server\u channels
的目录。它将包含每个服务器的一个文件。文件名是服务器ID,文件将包含通道ID