บอทแบบแยกส่วนสำหรับการควบคุมผู้ใช้ใน Discord! เพิ่มคำสั่งที่กำหนดเองและตัวจัดการเหตุการณ์เพื่อปรับแต่งบอทตามความชอบของคุณ โหลดบอทใหม่โดยใช้คำสั่ง !reload
หรือ !reload events
เพื่อดูการเปลี่ยนแปลงของคุณใช้งานสด!
บอทนี้จะใช้ได้เฉพาะกับบอทที่มีขนาดเล็กลงเนื่องจากต้องใช้ความตั้งใจในการใช้ข้อความซึ่งสำหรับบอทที่มีขนาดใหญ่กว่านั้นต้องมีการตรวจสอบจากความไม่ลงรอยกัน ซึ่งหมายความว่าหากบอทของคุณจะอยู่ในกว่า 100 severs คุณจะไม่สามารถใช้วิธีการทำคำสั่งนี้และจะต้องเขียนโค้ดตัวจัดการคำสั่งของคุณเองโดยใช้การโต้ตอบใหม่
ดูคำถามที่พบบ่อยนี้จาก Discord เกี่ยวกับการเปลี่ยนแปลงเหล่านี้
มีแผนการที่คลุมเครือในการอัปเดตเพื่อใช้คำสั่งที่ใช้การโต้ตอบใหม่ซึ่งให้ประสบการณ์ผู้ใช้ที่ดีกว่า แต่ตอนนี้มันจะยังคงเป็นข้อความตามที่ฉันเบื่อจริง ๆ และต้องการสิ่งที่ต้องทำจริงๆ
การเพิ่มคำสั่งของคุณเอง
การเพิ่มตัวจัดการกิจกรรมของคุณเอง
การเพิ่มที่เก็บข้อมูลถาวรของคุณเอง
python -m pip install discord.py
pip3 install discord.py
Bot
แล้วคลิก Add a bot
กรอกข้อมูลที่จำเป็น (เช่นชื่อและรูปภาพหากคุณต้องการ)Privileged Gateway Intents
และตรวจสอบให้แน่ใจว่าได้เลือก SERVER MEMBERS INTENT
และ MESSAGE CONTENT INTENT
คลิกบันทึกเพื่อบันทึกการเปลี่ยนแปลงของคุณ!Reset Token
ให้ทำตามพรอมต์หน้าจอจนกว่าคุณจะสามารถคัดลอกโทเค็นได้ นี่คือวิธีที่โปรแกรมจะเข้าสู่ระบบเป็นบัญชีบอทนี้ อย่าแบ่งปันโทเค็นนี้กับใคร!token.txt
ในโฟลเดอร์เดียวกันกับไฟล์ bot.py
OAuth2
URL Generator
บนแถบด้านข้างbot
จากนั้นเลือกสิทธิ์ Administrator
ระบบในรายการช่องทำเครื่องหมายการอนุญาตบอทใหม่ที่แสดงใหม่bot.py
คือ) และเรียกใช้คำสั่ง python bot.py
เพื่อเรียกใช้บอท!
<argument>
= อาร์กิวเมนต์ที่จำเป็น[argument]
= อาร์กิวเมนต์เสริม1w2d3h4m5s
) หรือเวลาในไม่กี่วินาที2m
หรือ 1w
ตัวอย่างเช่น !mod <add|remove|list> <role ID>
list
บทบาทคุณไม่จำเป็นต้องมี ID บทบาทในตอนท้าย !mute <user ID> [reason]
!tempmute <user ID> <duration> [reason]
!unmute <user ID>
!ban <user ID> <duration> <reason>
!unban <user ID>
!reload
!reload events
คุณควรทำตามคู่มือ Discord ที่นี่
แต่ส่วนสำคัญคือ:
Copy ID
ตรวจสอบให้แน่ใจว่า:
from commands.base import Command
จากนั้นกำหนดคลาสเช่นนี้: class MyCommand(Command):
ดังนั้นมันจึงเป็นคลาสย่อยของมัน)async def execute(self, message, **kwargs):
ฟังก์ชั่นเพื่อเรียกใช้คำสั่ง