【问题标题】:Discord.py - Server mute userDiscord.py - 服务器静音用户
【发布时间】:2021-08-23 21:10:17
【问题描述】:

我正在使用 discord.py 但不使用命令,我无意更改。为了解释机器人的目标,我将使用一个小方案:

  1. 服务器成员发送如下消息:£Start @user#0001
  2. ping 用户使服务器静音(在任何语音聊天中都无法听到他的声音)
  3. 10 秒过去了
  4. 用户取消静音
  5. 1 分钟通行证
  6. 用户被静音等等永远...

我知道这是一个 Troll 机器人。但是我们需要找个时间玩得开心...

我已经完成了大部分工作,但我无法将用户静音。

# IMPORT
import discord
import time

# VARIABLES
token = "sorry but no"
client = discord.Client()

# CODE
@client.event
async def on_message(message):
    start = False

    # CODE
    if message.content.startswith("£Start <@!"):
        # Extract id from message
        message_content = message.content
        user_id = message_content.replace("£Start <@!", "")
        user_id = user_id.replace(">", "")

        rep_message = message
        await message.delete()
        start = True
        user_obj = await rep_message.guild.fetch_member(user_id)

        if str(user_obj.status) != "online" and start is True:  # if user is online and start is True:
            # loop
            while start:
                # NEED HELP HERE >> server mute = True
                time.sleep(10)
                # NEED HELP HERE >> server mute = False
                time.sleep(30)
        else:
            return
    else:
        return

client.run(token)

我希望在我需要帮助的地方足够清楚。

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    使用Member.edit 传递mute=True。

    await user_obj.edit(mute=True)
    

    您还应该使用await asyncio.sleep 来休眠,以避免阻塞事件循环

    【讨论】:

      猜你喜欢
      • 2021-07-06
      • 2018-04-22
      • 2021-01-12
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2021-10-23
      • 2017-08-18
      相关资源
      最近更新 更多