尝试向 Discord 服务器发送新连接消息

时间:2021-03-07 17:54:02

标签: python python-3.x discord discord.py

首先,我对 Python 和 Bot 编程还很陌生。 我想要实现的是,向新连接到我的不和谐服务器的每个人发送私人消息。我查看了 API 文档,但找不到任何检查新连接的内容。我想过不断检查用户列表并将其与自身进行比较,直到找到新条目。但这似乎不必要地困难。我忽略的任何想法或功能可能对这种情况有用?

import discord
import os
import requests
import json
import random

client = discord.Client()

def get_quote():
    response = requests.get("https://zenquotes.io/api/random")
    json_data = json.loads(response.text)
    quote = json_data[0]["q"] + "\n-" + json_data[0]["a"]
    return (quote)

bad_words = ['list of bad words']

zuegelungen = [
  "Also hömma, sowat will ich hier net lesen!",
  "ich glaub ich seh net richtig, was ist das den für ne Ausdrucksweise",
  "Ja lecko mio, wat lief den in deiner Erziehung falsch, sowat sacht man doch nicht."
]

@client.event
async def on_ready():
    print("Eingeloggt als {0.user}".format(client))


@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if "inspirieren" in message.content.lower():
        quote = get_quote()
        await message.channel.send(quote)

    if "louis" in message.content.lower():
        await message.channel.send("Habe ich da Louis gehört?\nDas ist schon nen geiler Typ...")

    if "koks" in message.content.lower():
        await message.channel.send("MIT NUTTEN!")

    if ".cookie" in message.content.lower():
        await message.delete()
        await message.channel.send(":cookie:")

    for word in bad_words:
        if word in message.content.lower():
          await message.channel.send(random.choice(zuegelungen))

@client.event
async def on_member_join(member):
    await member.send("Danke fürs beitreten auf den offiziellen DBG-Discord-Server.\nKönntest du mir bitte deinen echten Vornamen senden?")


client.run(os.getenv("TOKEN"))

这是整个机器人的代码。我知道其中一些是无效的等等。主要是为了练习和找点乐子。

1 个答案:

答案 0 :(得分:0)

如果您的意思是在用户加入服务器(新用户加入服务器)时向用户发送私人消息,那么这应该可行:

intents = discord.Intents.default()
intents.members = True

client = discord.Client(intents=intents)    
token = "Your Token Goes Here"

@client.event
async def on_member_join(member):
    msg = "Your Message goes here"
    await member.send(msg)

client.run(token)