首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Discord.py重写更改机器人昵称?

如何使用Discord.py重写更改机器人昵称?
EN

Stack Overflow用户
提问于 2019-06-24 08:48:23
回答 2查看 11.9K关注 0票数 2

在使用client.user.edit(nick=name)时,机器人的昵称永远不会更改,但之前的命令和随后的命令都会正确执行。是否有其他我应该使用的命令,或者参数可能不正确?

我正在使用Discord.py-rewrite,并成功地将username设置为name,但这不是我想要的。我需要更改昵称,以避免更改用户名的不和谐冷却。

代码语言:javascript
复制
def function(name):
  await client.user.edit(nick=name)

它应该像更改用户名一样更改昵称,但什么也没有发生。我也没有收到错误。我将机器人角色权限、更改昵称和管理昵称设置为true。

EN

回答 2

Stack Overflow用户

发布于 2019-06-24 10:12:44

等待message.guild.get_member(self.user.id).edit(nick=name)

Get是发送的消息的行会,并编辑机器人成员的nick。

票数 1
EN

Stack Overflow用户

发布于 2020-10-11 02:37:49

代码语言:javascript
复制
import discord
import time
import asyncio
messages = joined = 0
def read_token():
with open("token.txt", "r") as f:
    lines = f.readlines()
    return lines[0].strip()

token = read_token()

client = discord.Client()


 async def update_stats():
 await client.wait_until_ready()
 global messages, joined

  while not client.is_closed():
     try:
        with open("stats.txt", "a") as f:
            f.write(f"Time: {int(time.time())}, Messages: {messages}, Members Joined: 
      {joined}\n")

        messages = 0
        joined = 0

        await asyncio.sleep(5)
    except Exception as e:
        print(e)
        await asyncio.sleep(5)


         @client.event
        async def on_member_update(before, after):
      n = after.JOHN
     if n:
     if n.lower().count("tim") > 0:
        last = before.nick
        if last:
            await after.edit(nick=JOHN)
        else:
            await after.edit(nick="COOKIES")


        @client.event
        async def on_member_join(member):
       global joined
       joined += 1
       for channel in member.server.channels:
    if str(channel) == "general":
        await channel.send(f"""Welcome to the server {member.mention}""")


          @client.event
       async def on_message(message):
         global messages
     messages += 1

id = client.get_guild(ID HERE)
channels = ["commands"]
valid_users = ["JOHN#1234"]
bad_words = ["bad", "stop", "45"]

for word in bad_words:
    if message.content.count(word) > 0:
        print("A bad word was said")
        await message.channel.purge(limit=1)

if message.content == "!help":
    embed = discord.Embed(title="Help on BOT", description="Some useful commands")
    embed.add_field(name="!hello", value="Greets the user")
    embed.add_field(name="!users", value="Prints number of users")
    await message.channel.send(content=None, embed=embed)

if str(message.channel) in channels and str(message.author) in valid_users:
    if message.content.find("!hello") != -1:
        await message.channel.send("Hi") 
    elif message.content == "!users":
        await message.channel.send(f"""# of Members: {id.member_count}""")


          client.loop.create_task(update_stats())
        client.run(token)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56728719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档