当前位置: 首页 > 知识库问答 >
问题:

不一致pypython—我想创建一个函数,当用户加入服务器时,该函数在服务器中发送一条全局消息

柏高洁
2023-03-14

我正在尝试使用Python创建一个Discord BOT。我正在创建不同类型的函数,现在我想创建一个函数,允许机器人在有人加入服务器时在常规通道中发送消息

import discord
import random

from discord.ext import commands

token = 'BOT_TOKEN'
client = commands.Bot(command_prefix = '!')

@client.event
async def on_ready():
    print(f'{client.user.name} is now ready')

@client.command(aliases = ['ask', 'chiedi'])
async def _ask(ctx, *, question):
    file_object = open("quotes.txt")
    quotes = file_object.readlines()
    file_object.close()

    rnd = random.choice(quotes)
    await ctx.send(rnd)

@client.event
async def on_message(message):
    author = message.author
    content = message.content
    log = '{}: {}'.format(author, content)
    with open("logs.txt", "a+") as my_file:
        my_file.write(log + "\n")
        my_file.close()

'''
func print_msg
    once the user joins the server
    print message to greet him

'''

client.run(token)

我希望输出类似“Username已加入我们的服务器!欢迎”

共有1个答案

楚乐逸
2023-03-14

假设您使用的是版本1.3。0a。。。(或在附近)

你基本上可以遵循他们在这里给出的模板。有一个用于on_ready(),另一个用于on_message(消息)

# ...
@client.event
async def on_member_join(member):
    await member.guild.text_channels[0].send("A message sent to the first channel because a member joined!")
# ...
 类似资料:
  • 每次机器人被邀请到服务器时,我都想发送一条消息。然后它应该写这样的话:“你好,这是我的不和机器人” 到目前为止,我有这个代码,它不会产生错误,但也不会发送消息。

  • 我目前正在制作一个discord bot,并希望在服务器加入时在服务器的通道中发送一条消息,这是我到目前为止的代码。 当我运行这段代码时,什么都不会发生。我没有得到任何ERORR或输出。 如果有人能帮忙,那就太棒了。谢谢

  • 我正试图让我的机器人发送一个包含Hypixel Minecraft服务器详细信息的嵌入,我有: 但我不知道在哪里将其输入到我的代码中,即: 客户在('message',message= })

  • 我使用netbean创建了一个restful Web服务,使用jpa从数据库创建了一个实体类,从实体类创建了一个restful Web服务,但是我使用tomcat作为我的服务器,现在下面的post方法不会将下面的json插入数据库,但是当我使用glassfish作为我的服务器时,它是有效的。你认为我缺少任何依赖关系吗?我如何模仿glassfish? 我正试图插入 我有以下依赖项: javaee-a

  • 我使用的是Netty 3.9.5,我有一个简单的客户机-服务器设置,我从http://en.wikipedia.org/wiki/Netty_(软件)#Netty\u TCP\u示例。我扩展了这个示例,将Java search plan对象从客户端发送到服务器。在这个网站上跟踪用户的帮助下,我已经能够让这个程序按预期运行。 现在,我想让我的读卡器/服务器程序同时接受多个客户端。我想我会使用下面列出