iT邦幫忙

2021 iThome 鐵人賽

DAY 8
1
AI & Data

建立FF14資訊Discord chatbot系列 第 8

[DAY 08]新成員進來時靠bot進行說明事項

最近進了一個公會群,發現當有新成員進來時管理員還需要問他們ID才能把他們邀進遊戲裡的工會

新成員進來時管理員問ID這步驟可以靠on_member_join函式來解決,這函式意思是當有新成員進頻道時你的chatbot要做什麼回應

程式碼如下:

import discord
import requests
import pandas as pd
import pickle
import difflib
from dotenv import load_dotenv



if __name__ == '__main__':
    #讀取Token
    load_dotenv()
    TOKEN = os.getenv('DISCORD_TOKEN')
    
    intents = discord.Intents.default()
    intents.members = True
    client = discord.Client(intents=intents)
    embed = discord.Embed()
    
    
    #新成員加入
    @client.event
    #當有訊息時
    async def on_member_join(member):
        guild = client.get_guild(GUILD_ID)
        
        for channel in guild.channels:
        
            if channel.name == '一般':#<<記得改"一般"
                await channel.send(f"<@{member.id}> 你好呀:sunglasses:  請輸入你的遊戲ID,管理員看到就會把你加進公會~")

client.run(TOKEN) #TOKEN 在剛剛 Discord Developer 那邊「BOT」頁面裡面

<@{member.id}>後面member.id是指新成員的暱稱

channel.name的值是新成員進來時所在的頻道,一般來說頻道名稱是general,這邊可能要注意一下

呈現畫面:

API其他函式可以看官方文檔

這邊也推薦可以進discrd的官方chatbotapi群詢問問題,每個語言都有專屬的子頻道,不用怕訊息雜亂


上一篇
[DAY 07]查詢各國物品名稱
下一篇
[DAY 09]Discord Bot回覆帶入圖片方法
系列文
建立FF14資訊Discord chatbot30

尚未有邦友留言

立即登入留言