আপনার প্রথম ডিসকর্ড বট তৈরি করা আপনার ভাবার চেয়েও সহজ। এর জন্য আপনার কম্পিউটার সায়েন্সে ডিগ্রি বা প্রোগ্রামিংয়ের বছরের পর বছর অভিজ্ঞতা থাকার দরকার নেই। 2026 সালে, একটি কার্যকরী বট তৈরি এবং ডেপ্লয় করতে আপনার একটি সপ্তাহান্ত লাগবে যদি আপনি মনোযোগ দেন।
এই গাইডটি আপনাকে পুরো প্রক্রিয়ার মধ্যে দিয়ে নিয়ে যাবে: আপনার বট রেজিস্টার করা, আপনার প্রথম কমান্ড লেখা, স্থানীয়ভাবে পরীক্ষা করা এবং লাইভে ডেপ্লয় করা। শেষ করার পরে, আপনার সার্ভারে একটি বট চলবে।
ডিসকর্ড বট কী, তা বোঝা
একটি ডিসকর্ড বট হল একটি প্রোগ্রাম যা API-এর মাধ্যমে ডিসকর্ডের সাথে সংযোগ স্থাপন করে এবং বিভিন্ন ইভেন্টে সাড়া দেয়: যখন কেউ কমান্ড টাইপ করে, মেসেজে রিঅ্যাক্ট করে, সার্ভারে যোগ দেয় ইত্যাদি।
গুরুত্বপূর্ণ ধারণা:
- অ্যাপ্লিকেশন বনাম বট: আপনার "অ্যাপ্লিকেশন" ডিসকর্ড ডেভেলপার পোর্টালে রেজিস্টার করা আছে। "বট" হল সেই অ্যাপ্লিকেশনটির সাথে যুক্ত ইউজার অ্যাকাউন্ট। একটি অ্যাপ্লিকেশনের একটি বট থাকে।
- টোকেন: একটি গোপন কী যা আপনার বটকে প্রমাণীকরণ করে। এটি কখনই শেয়ার করবেন না। এটি আপনার বটের পাসওয়ার্ডের মতো।
- ইনটেন্ট: অনুমতি যা আপনার বটকে নির্দিষ্ট ইভেন্টগুলি (মেসেজ, রিঅ্যাকশন, সদস্যের স্ট্যাটাস পরিবর্তন ইত্যাদি) দেখতে দেয়। আপনার যা প্রয়োজন শুধু সেটিই চালু করুন।
- কমান্ড: বট কমান্ডের প্রতি সাড়া দেয়। আধুনিক বটগুলি প্রিফিক্স কমান্ড (
!command) এর পরিবর্তে স্ল্যাশ কমান্ড (/command) ব্যবহার করে। স্ল্যাশ কমান্ডগুলি আনুষ্ঠানিকভাবে সমর্থিত এবং প্রস্তাবিত। - ইভেন্ট: আপনার বট ডিসকর্ড ইভেন্টগুলি (মেসেজ পাঠানো, রিঅ্যাকশন যোগ করা, সদস্য যোগদান করা) শোনে এবং সেগুলোর প্রতি সাড়া দেয়।
ধাপ 1: ডিসকর্ড ডেভেলপার পোর্টালে আপনার বট রেজিস্টার করুন
এখানেই আপনার বট আনুষ্ঠানিকভাবে ডিসকর্ডের সিস্টেমে বিদ্যমান।
পদ্ধতি:
- ডিসকর্ড ডেভেলপার পোর্টালে যান
- আপনার ডিসকর্ড অ্যাকাউন্ট দিয়ে লগইন করুন
- "New Application"-এ ক্লিক করুন
- এটির নাম দিন (যেমন, "My First Bot")
- "Create"-এ ক্লিক করুন
- আপনি এখন আপনার অ্যাপ্লিকেশন সেটিংসে আছেন
এখন বট ইউজার তৈরি করুন:
- "Bot" বিভাগে যান (বাম সাইডবার)
- "Add Bot"-এ ক্লিক করুন
- বটের ইউজার নামের নিচে, আপনি একটি "TOKEN" বোতাম দেখতে পাবেন
- টোকেনটি কপি করুন - এটিই আপনার বটকে প্রমাণীকরণ করার উপায়। এটি গোপন রাখুন। এটিকে প্রকাশ্যে শেয়ার করবেন না বা এনক্রিপশন ছাড়া গিটহাবে কমিট করবেন না।
বট সেটিংস কনফিগার করুন:
- "Message Content Intent" চালু করুন (বটকে মেসেজের টেক্সট পড়তে দেয়)
- "Server Members Intent" চালু করুন (বটকে সার্ভারে কে আছে তা দেখতে দেয়)
- "OAuth2" বিভাগে স্ক্রোল করুন
ধাপ 2: আপনার বটের আমন্ত্রণ লিঙ্ক তৈরি করুন
একটি সার্ভারে বট যুক্ত করার জন্য আপনার একটি বিশেষ আমন্ত্রণ লিঙ্কের প্রয়োজন।
ডেভেলপার পোর্টালে:
- "OAuth2" → "URL Generator"-এ যান
- "SCOPES"-এর অধীনে, টিক দিন:
bot - "PERMISSIONS"-এর অধীনে, আপনার বট কী করতে পারে তা নির্বাচন করুন:
Send Messages(যেকোনো বটের জন্য অপরিহার্য)Manage Messages(যদি আপনি মডারেট করেন)Add Reactions(যদি বট কোনো কিছুতে রিঅ্যাক্ট করে)Connect+Speak(যদি এটি একটি মিউজিক/ভয়েস বট হয়)- শেখার জন্য, শুধু
Send Messages+Read Messagesনির্বাচন করুন (ন্যূনতম কার্যকর)
- নীচে তৈরি হওয়া URL টি কপি করুন
- এই URL টি সার্ভারের মালিকদের সাথে শেয়ার করুন (অথবা আপনার নিজের টেস্ট সার্ভারে যুক্ত করার জন্য নিজে ব্যবহার করুন)
প্রয়োজন না হলে অ্যাডমিনিস্ট্রেটর অনুমতি ব্যবহার করবেন না। অতিরিক্ত অনুমতি দেওয়া একটি নিরাপত্তা ঝুঁকি।
ধাপ 3: আপনার ভাষা এবং ফ্রেমওয়ার্ক নির্বাচন করুন
নতুনদের জন্য দুটি প্রধান বিকল্প:
জাভাস্ক্রিপ্ট (discord.js)
Discord.js হল সবচেয়ে জনপ্রিয় ডিসকর্ড বট ফ্রেমওয়ার্ক। বিশাল কমিউনিটি, প্রচুর টিউটোরিয়াল এবং চমৎকার ডকুমেন্টেশন রয়েছে।
সুবিধা:
- বৃহত্তম কমিউনিটি এবং অনলাইনে সর্বাধিক টিউটোরিয়াল
- discord.js ডকুমেন্টেশন চমৎকার
- Node.js বহুল ব্যবহৃত এবং শিখতে সহজ
- বেশিরভাগ হোস্টিং প্ল্যাটফর্মে সহজে ডেপ্লয় করা যায়
অসুবিধা:
- জাভাস্ক্রিপ্টের কিছু অদ্ভুততা আছে (async/await শেখার সমস্যা)
- পাইথনের তুলনায় Node.js বেশি মেমরি ব্যবহার করে
শুরু করুন:
- Node.js (v18+) ইনস্টল করুন
- একটি প্রোজেক্ট ফোল্ডার তৈরি করুন
npm init -ynpm install discord.js
পাইথন (discord.py)
সহজ সিনট্যাক্স, নতুনদের জন্য দারুণ, মৌলিক বিষয় শেখার জন্য চমৎকার।
সুবিধা:
- শেখার জন্য সবচেয়ে সহজ সিনট্যাক্স
- নতুনদের জন্য স্বজ্ঞাত
- discord.py ডকুমেন্টেশন ভালো
- পাইথন সর্বত্র ব্যবহৃত হয় (ডেটা সায়েন্স, ওয়েব, অটোমেশন)
অসুবিধা:
- discord.js এর চেয়ে ছোট কমিউনিটি (তবে এখনও বড়)
- জাভাস্ক্রিপ্টের চেয়ে কম টিউটোরিয়াল
- সামান্য বেশি মেমরি ব্যবহার করে
শুরু করুন:
- Python 3.10+ ইনস্টল করুন
- একটি প্রোজেক্ট ফোল্ডার তৈরি করুন
pip install discord.py
নতুনদের জন্য প্রস্তাবনা: যদি আপনি পাইথন জানেন, discord.py ব্যবহার করুন। যদি আপনি জাভাস্ক্রিপ্ট জানেন, discord.js ব্যবহার করুন। যদি আপনি কোনটিই না জানেন, পাইথন শিখতে সহজ, তবে জাভাস্ক্রিপ্টে অনলাইনে বেশি রিসোর্স রয়েছে। একটি বেছে নিন এবং লেগে থাকুন।
ধাপ 4: আপনার প্রথম বট লিখুন (পাইথন উদাহরণ)
পাইথনে এখানে একটি ন্যূনতম কার্যকরী ডিসকর্ড বট দেওয়া হল যা একটি কমান্ডের প্রতি সাড়া দেয়:
import discord
from discord.ext import commands
# কমান্ড প্রিফিক্স এবং ইনটেন্ট সহ বট তৈরি করুন
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} has connected to Discord!')
@bot.command(name='hello', help='হ্যালো বলে')
async def hello(ctx):
await ctx.send(f'Hello {ctx.author.name}!')
@bot.command(name='ping', help='পং দিয়ে সাড়া দেয়')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
এটি কী করে:
- ডিসকর্ডের সাথে সংযোগ স্থাপন করে
!helloএবং!pingকমান্ড শোনে- ট্রিগার হলে একটি মেসেজ দিয়ে সাড়া দেয়
এটি চালানোর জন্য:
'YOUR_TOKEN_HERE'-এর জায়গায় ধাপ 1 থেকে আপনার আসল টোকেনটি বসানbot.pyনামে সেভ করুন- চালান:
python bot.py - ডিসকর্ডে, যেকোনো চ্যানেলে
!helloটাইপ করুন - বট সাড়া দেবে: "Hello [YourName]!"
ধাপ 5: স্থানীয়ভাবে পরীক্ষা করুন
ডেপ্লয় করার আগে, আপনার বটটি স্থানীয়ভাবে (আপনার কম্পিউটারে) পরীক্ষা করুন।
একটি টেস্ট সার্ভার সেটআপ করুন:
- পরীক্ষার জন্য একটি ব্যক্তিগত ডিসকর্ড সার্ভার তৈরি করুন
- ধাপ 2 থেকে আমন্ত্রণ লিঙ্ক ব্যবহার করে আপনার বট যুক্ত করুন
- আপনার বট কোডটি স্থানীয়ভাবে চালান
- টেস্ট সার্ভারে কমান্ড টাইপ করুন
- আপনার টার্মিনালে ত্রুটিগুলি দেখুন; সেগুলি ঠিক করুন
সাধারণ ত্রুটি:
- "Invalid token" - আপনি টোকেনটি ভুল কপি করেছেন বা এটির মেয়াদ শেষ হয়ে গেছে। ডেভেলপার পোর্টালে পুনরায় তৈরি করুন।
- "Missing permissions" - এই চ্যানেলে সেই কাজটি করার অনুমতি বটের নেই। অনুমতি যোগ করুন বা এমন একটি চ্যানেল ব্যবহার করুন যেখানে বটের বেশি অধিকার আছে।
- "Intents are not enabled" - আপনাকে ডেভেলপার পোর্টালে ইনটেন্টগুলি চালু করতে হবে (Message Content Intent, Server Members Intent, ইত্যাদি)।
ভালোভাবে পরীক্ষা করুন। প্রোডাকশনে বাগযুক্ত বট থাকা লজ্জাজনক।
ধাপ 6: আরও কমান্ড যোগ করুন
এখন যেহেতু আপনি বেসিক জানেন, আরও বৈশিষ্ট্য দিয়ে প্রসারিত করুন।
পাইথন উদাহরণ - একটি সাধারণ অর্থনীতির কমান্ড:
@bot.command(name='balance', help='আপনার কয়েনের ব্যালেন্স দেখুন')
async def balance(ctx):
# একটি আসল বটে, এটি একটি ডাটাবেস থেকে জানতে চাইবে
# আপাতত, শুধু একটি মক ভ্যালু ফেরত দিন
await ctx.send(f'{ctx.author.name}, আপনার 100 কয়েন আছে!')
@bot.command(name='roll', help='একটি ডাইস রোল করুন (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} রোল করেছেন: **{result}**')
প্রতিটি কমান্ড একটি সাধারণ ফাংশন। আপনি যত চান তত যোগ করুন।
ধাপ 7: আপনার বট ডেপ্লয় করুন
স্থানীয়ভাবে হোস্টিং পরীক্ষার জন্য কাজ করে, তবে আপনি আপনার ল্যাপটপ বন্ধ করলে আপনার বট বন্ধ হয়ে যায়। এটিকে 24/7 চালানোর জন্য একটি সার্ভারে ডেপ্লয় করুন।
বিনামূল্যে হোস্টিং বিকল্প
Replit (নতুনদের জন্য সবচেয়ে সহজ):
- Replit.com-এ যান
- নতুন Repl → পাইথন (বা Node.js) তৈরি করুন
- আপনার বট কোড পেস্ট করুন
- "Run"-এ ক্লিক করুন
- Replit এটি বিনামূল্যে হোস্ট করে (সীমাবদ্ধতা সহ: নিষ্ক্রিয়তার পরে ঘুমিয়ে যেতে পারে)
Railway.app (আধুনিক, নির্ভরযোগ্য):
- Railway.app-এ যান
- গিটহাব কানেক্ট করুন (অথবা সরাসরি ফাইল আপলোড করুন)
- নতুন প্রোজেক্ট তৈরি করুন → আপনার বট নির্বাচন করুন
- রেলওয়ে স্বয়ংক্রিয়ভাবে ডেপ্লয় করে
- বিনামূল্যে স্তরে $5 মাসিক ক্রেডিট অন্তর্ভুক্ত
Glitch (Replit-এর মতো):
- Glitch.com-এ যান
- নতুন প্রোজেক্ট তৈরি করুন
- কোড পেস্ট করুন
- Glitch এটিকে চালু রাখে (বিনামূল্যে স্তরের সীমার মধ্যে)
গুরুত্বপূর্ণ: গিটহাবে পুশ করা কোডে আপনার টোকেন হার্ডকোড করবেন না। এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
স্থানীয়ভাবে একটি .env ফাইল তৈরি করুন (.gitignore-এ যোগ করুন যাতে এটি কমিট না হয়):
DISCORD_TOKEN=your_actual_token_here
Replit/Railway-এ, প্ল্যাটফর্ম সেটিংসে টোকেনটিকে একটি গোপন এনভায়রনমেন্ট ভেরিয়েবল হিসাবে সেট করুন (কোডে নয়)।
সাধারণ নতুনদের ভুল
ভুল 1: টোকেন হার্ডকোড করা গিটহাবে পুশ করা কোডে কখনই আপনার টোকেন রাখবেন না। লিক হওয়া টোকেনযুক্ত বটগুলি সঙ্গে সঙ্গে আপোস করা হয়। এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন।
ভুল 2: ত্রুটিগুলি পরিচালনা না করা আপনার বট অপ্রত্যাশিত ইনপুটে ক্র্যাশ করে। ত্রুটি হ্যান্ডলিং যোগ করুন:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('শূন্য দিয়ে ভাগ করা যায় না!')
except ValueError:
await ctx.send('অনুগ্রহ করে বৈধ সংখ্যা লিখুন!')
ভুল 3: রেট লিমিটকে সম্মান না করা ডিসকর্ড আপনি কত দ্রুত মেসেজ পাঠাতে পারেন তার সীমা নির্ধারণ করে। API স্প্যাম করবেন না। বাল্ক অ্যাকশনের মধ্যে বিলম্ব যোগ করুন।
ভুল 4: ইনটেন্ট উপেক্ষা করা অনেক নতুন বটের ব্যর্থ হওয়ার কারণ হল তারা ডেভেলপার পোর্টালে প্রয়োজনীয় ইনটেন্টগুলি চালু করে না। ডেপ্লয় করার আগে আপনার বটের প্রয়োজনীয় ইনটেন্টগুলি পরীক্ষা করুন।
ভুল 5: খুব উচ্চাভিলাষী পরিকল্পনা আপনার প্রথম বটে একটি অর্থনীতি সিস্টেম, মডারেশন, মিউজিক এবং 50টি কমান্ড তৈরি করার চেষ্টা করবেন না। 3-5টি সাধারণ কমান্ড দিয়ে শুরু করুন। একবার আপনি স্বচ্ছন্দ হলে প্রসারিত করুন।
পরবর্তী পদক্ষেপ
এখন যেহেতু আপনার একটি বেসিক বট আছে:
- কার্যকারিতা প্রসারিত করুন: আরও কমান্ড যোগ করুন, ডেটা ধরে রাখতে ডাটাবেস ব্যবহার করুন, জটিল লজিক প্রয়োগ করুন
- স্ল্যাশ কমান্ড ব্যবহার করুন: প্রিফিক্স কমান্ডের পরিবর্তে আধুনিক
/commandসিনট্যাক্স - রিঅ্যাকশন যোগ করুন: ব্যবহারকারীদের বোতামে ক্লিক করতে বা ইমোজি দিয়ে রিঅ্যাক্ট করতে দিন
- একটি ডাটাবেস কানেক্ট করুন: ব্যবহারকারীর ডেটা, কয়েন, পছন্দগুলি স্টোর করুন (নতুনদের জন্য SQLite, স্কেলের জন্য PostgreSQL)
- কমিউনিটিতে যোগ দিন: ডিসকর্ড বট ডেভেলপার কমিউনিটিতে (reddit.com/r/discordbots, Discord.js সাপোর্ট সার্ভার) প্রতিটি প্রশ্নের উত্তর আছে
রিসোর্স
- discord.js ডকুমেন্টেশন: https://discord.js.org
- discord.py ডকুমেন্টেশন: https://discordpy.readthedocs.io
- ডিসকর্ড API ডক্স: https://discord.com/developers/docs/intro
- ইউটিউব টিউটোরিয়াল: "[discord.js/discord.py] tutorial" সার্চ করুন - প্রচুর কন্টেন্ট
আপনার প্রথম ডিসকর্ড বট একটি সপ্তাহান্তের প্রোজেক্ট। আপনার প্রথম ভালো ডিসকর্ড বট এক মাসের অনুশীলনের ফল। 1,000 সার্ভার দ্বারা ব্যবহৃত আপনার প্রথম বট কয়েক মাসের পুনরাবৃত্তি, বৈশিষ্ট্য বিকাশ এবং কমিউনিটি বিল্ডিংয়ের ফসল। এখনই শুরু করুন, ক্রমাগত পুনরাবৃত্তি করুন এবং বেশি চিন্তা করবেন না।