前面的篇章都挺零碎的,
但基本的,其實就是需要看懂文件內容,
而在網路汪洋,也存在許多的套件可以使用,
值得自己去尋找,
接下來的篇章會在做中時發掘出更多的想法。
使用 command 或是 "/"(slash_command)讓成員主動觸發命令,
並連接到google sheet 存取目標內容:
將建立好的目標試算表,新增工作表並改名而本篇改為"簽到",並將欄位先取好名。
import discord
import moment
# 此為自己編寫的內容,在第12、13篇有教學與範例code
from src.googleSheet import add_row_sheet
宣告check_in_data 輸入member內容,並取得id、dispay_name,
與使用moment 取得 當下的時間並format 成 "2023-09-18 00:00:00"的格式。
自動在指定的Google試算表中,名為「簽到」的工作表加入表格。
並使用python try except 處理,
try 裡面內容成功時,會成功執行到最後 return 的部分,
except 則是在中途有錯誤時,會回傳 return 內容。
def main(Bot):
name = "簽到"
print(f"{name} 註冊成功")
def check_in_data(member):
try:
add_row_sheet("簽到", [
str(member.id),
moment.now().format("YYYY-MM-DD HH:mm:ss"),
member.display_name
])
return "簽到成功"
except:
return "簽到失敗,請通知管理員處理"
一樣在 def main()中,宣告命令的內容
分別command 觸發方式 「$簽到」與 slash_command 觸發方式 「/簽到」
# 會員功能
@Bot.command(name=name)
async def check_in_form_command(ctx):
await ctx.send(check_in_data(ctx.author))
@Bot.slash_command(name=name, description="成員簽到")
async def check_in_from_slash_command(ctx):
await ctx.respond(check_in_data(ctx.author))
成功:
失敗: