📜  discord.py ping 命令 - Python (1)

📅  最后修改于: 2023-12-03 15:14:42.437000             🧑  作者: Mango

Discord.py Ping 命令 - Python

该主题介绍了如何使用 Discord.py 在 Python 中实现一个简单的 "Ping" 命令。该命令可用于测试机器人与 Discord 服务器之间的延迟。

以下是一个完整的代码片段,演示了如何实现 Discord.py 的 Ping 命令:

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.typing = False
intents.presences = False

bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
    print('Bot已登录为 {0.user}'.format(bot))

@bot.command()
async def ping(ctx):
    latency = bot.latency  # 获取机器人与 Discord 服务器之间的延迟(以秒为单位)
    latency_text = f'{latency * 1000:.2f}ms'  # 将延迟转换为毫秒并格式化为字符串
    await ctx.send(f'Pong! 延迟为 {latency_text}')

bot.run('YOUR_BOT_TOKEN')

以上代码需要安装 discord.py 库,以及可在 Discord Developer Portal 创建的机器人的令牌。

解释代码
  1. 导入 discordcommands 模块,以及 Intents 类,用于与 Discord API 进行交互。
  2. 创建一个 Bot 实例,设置命令前缀和 Intents
  3. 使用 @bot.event 装饰器声明一个事件函数,在机器人成功登录到 Discord 后触发。
  4. 在事件函数中打印出机器人登录成功的消息。
  5. 使用 @bot.command() 装饰器声明一个命令函数,在用户发送 !ping 命令时触发。
  6. 在命令函数中获取机器人与 Discord 服务器之间的延迟,并将其转换为毫秒格式化为字符串。
  7. 使用 await ctx.send() 将延迟信息作为回复发送给用户。
  8. 运行机器人,并传入你在 Discord Developer Portal 创建的机器人的令牌。

以上代码段将使机器人监听 !ping 命令,并在收到该命令时返回延迟信息。将延迟以 Markdown 格式返回更具可读性。

希望这个介绍能够帮助你了解如何使用 Discord.py 在 Python 中实现一个简单的 Ping 命令。