Discord Slip Verify Bot
สวัสดีครับ วันนี้ผมจะมาแนะนำโปรเจกต์บอท Discord สำหรับตรวจสอบสลิปเงินโอนแบบอัตโนมัติครับ
เรื่องมีอยู่ว่า ผมเคยจัดกิจกรรมขายของใน Discord Server แล้วต้องมานั่งตรวจสลิปทีละใบ มันเสียเวลามากครับ เลยคิดทำบอทตัวนี้ขึ้นมา เพียงแค่สมาชิกส่งรูปสลิปเข้ามาในช่องที่กำหนด บอทก็จะตรวจสอบแล้วแสดงข้อมูลการโอนเงินให้ทันทีครับ สะดวกมากเลย
สำหรับการศึกษาเท่านั้น — โปรเจกต์นี้จัดทำขึ้นเพื่อเป็นกรณีศึกษาการพัฒนา Discord Bot ครับ
บอทนี้ทำอะไรได้บ้าง
- ตรวจจับรูปสลิปที่ส่งเข้ามาในช่องที่กำหนดได้อัตโนมัติครับ
- ดึงข้อมูลจากสลิปมาแสดงเป็น Embed ที่สวยงามและอ่านง่าย
- แสดงข้อมูลผู้โอนและผู้รับอย่างครบถ้วนครับ ทั้งชื่อ ธนาคาร และเลขบัญชี
- บอกจำนวนเงิน วันที่โอน และรหัสอ้างอิงให้เลยครับ
- รองรับธนาคารไทยทุกเจ้าและ PromptPay ด้วยครับ
ข้อมูลที่บอทแสดงผล
เมื่อส่งสลิปเข้ามา บอทจะตอบกลับด้วย Embed ที่มีข้อมูลเหล่านี้ครับ
| หมวด | รายละเอียด |
|---|---|
| 👤 ผู้โอน | ชื่อ, ธนาคาร, เลขบัญชี |
| 👥 ผู้รับ | ชื่อ, ธนาคาร, เลขบัญชี |
| 💰 การโอน | จำนวนเงิน, วันที่, รหัสอ้างอิง |
| 🏛️ ธนาคาร | ข้อมูลธนาคารทั้งสองฝั่ง |
ดูเรียบร้อยและเป็นมืออาชีพมากครับ
เทคโนโลยีที่ใช้
| เทคโนโลยี | รายละเอียด |
|---|---|
| Python 3.10+ | ภาษาหลักที่ใช้พัฒนาครับ |
| discord.py | ไลบรารีสำหรับสร้าง Discord Bot |
| requests | สำหรับเรียก API ตรวจสอบสลิป |
| Slip Verify API | API ตรวจสอบสลิปเงินโอนฟรี 100% ครับ |
โครงสร้างโปรเจกต์
โปรเจกต์นี้ผมออกแบบเป็นโมดูลย่อยๆ แยกหน้าที่กันชัดเจนครับ ดูแลและแก้ไขง่าย
Bot Discord Slip Verify/├── bot.py # จุดเริ่มต้นของบอทครับ├── config.json # เก็บ TOKEN และ Channel ID└── module/ ├── __init__.py # Module exports ├── config.py # โหลด config จาก JSON ├── utils.py # ฟังก์ชันอรรถประโยชน์ต่างๆ ├── encoding.py # จัดการ Base64 encoding ├── api_client.py # เรียก API ตรวจสอบสลิปครับ ├── embed_builder.py # สร้าง Embed สวยๆ └── event_handler.py # จัดการ events ต่างๆจะเห็นว่าแต่ละไฟล์มีหน้าที่ของตัวเองชัดเจนครับ ถ้าอยากแก้ส่วนไหนก็เข้าไปแก้ไฟล์นั้นได้เลย
สิ่งที่ต้องมีก่อนเริ่ม
ต้องมี Python 3.10 ขึ้นไปติดตั้งอยู่ในเครื่องก่อนนะครับ แล้วก็ต้องสร้างบอทจาก Discord Developer Portal ด้วยครับ
วิธีติดตั้ง
1. Clone โปรเจกต์ลงมาก่อนครับ
git clone https://github.com/0x90Vold/Discord-Slip-Verify-Bot.gitcd Discord-Slip-Verify-Bot2. ติดตั้ง dependencies ที่จำเป็นครับ
pip install discord.py requestsตรงนี้ไม่หนักเลยครับ ติดตั้งเสร็จไวมาก
3. ตั้งค่า config.json
สร้างไฟล์ config.json ขึ้นมาที่ root ของโปรเจกต์ แล้วใส่ข้อมูลตามนี้ครับ
{ "TARGET_CHANNEL_ID": 1234567890123456789, "TOKEN": "YOUR_BOT_TOKEN_HERE"}- TARGET_CHANNEL_ID — เปลี่ยนเป็น ID ของช่องที่ต้องการให้บอทคอยฟังสลิปครับ วิธีดู ID ก็เปิด Developer Mode ใน Discord แล้วคลิกขวาที่ช่องได้เลย
- TOKEN — เอา Token มาจาก Discord Developer Portal ครับ อย่าเอาไปแชร์ที่ไหนนะครับ สำคัญมาก
4. รันบอทได้เลยครับ
python bot.pyพอบอทขึ้นสถานะ Online ใน Server ก็ใช้งานได้แล้วครับ
วิธีใช้งาน
ขั้นตอนง่ายมากครับ ทำตามนี้เลย
- เชิญบอทเข้า Server ของคุณครับ
- ตั้งค่า
TARGET_CHANNEL_IDในconfig.jsonให้ตรงกับช่องที่ต้องการ - ส่งรูปสลิปในช่องที่กำหนดครับ
- บอทจะตรวจสอบและตอบกลับด้วย Embed แสดงข้อมูลทั้งหมดให้เลยครับ
แค่นี้เองครับ ไม่ต้องพิมพ์คำสั่งอะไรเลย ส่งรูปมาก็รู้ผลทันที
หลักการทำงานเบื้องหลัง
อธิบายง่ายๆ ครับ บอททำงานตามขั้นตอนนี้
- รอฟังข้อความ — บอทจะคอยดูข้อความในช่องที่กำหนดครับ
- ตรวจจับรูปภาพ — ถ้ามีรูปแนบมา ระบบจะดึงรูปมาครับ
- แปลงเป็น Base64 — รูปจะถูกแปลงเป็นข้อมูล Base64 สำหรับส่งไป API
- เรียก API — ส่งข้อมูลไปให้ Slip Verify API ตรวจสอบครับ
- สร้าง Embed — เอาผลลัพธ์มาสร้างเป็น Embed สวยๆ แสดงกลับมา
ทุกอย่างเกิดขึ้นภายในไม่กี่วินาทีเลยครับ
สิ่งที่ได้เรียนรู้
โปรเจกต์นี้ผมได้เรียนรู้อะไรหลายอย่างเลยครับ
- การออกแบบ Modular Architecture แยกโค้ดเป็นโมดูลให้ดูแลง่าย
- การทำงานกับ discord.py ในการรับส่งข้อมูลและจัดการ events
- การเรียกใช้ External API และจัดการ response ที่ได้กลับมา
- การสร้าง Discord Embed ให้แสดงผลได้สวยงามและเป็นระเบียบครับ
- การจัดการ Configuration ผ่านไฟล์ JSON
ลิงก์โปรเจกต์
ขอบคุณ
- slip-verify สำหรับ API ตรวจสอบสลิปที่ใช้ได้ฟรี 100% ครับ ไม่มีค่าใช้จ่ายแอบแฝง
- discord.py สำหรับไลบรารี Discord Bot ที่ยอดเยี่ยมครับ
License
โปรเจกต์นี้เป็น Open Source ภายใต้ MIT License ครับ นำไปใช้ได้ตามสบายเลย
หากมีคำถามหรือข้อเสนอแนะ สามารถเปิด Issue ได้เลยนะครับ ขอบคุณครับ 🙏