پرش به محتویات

شروع سریع (Quickstart)

در این راهنما، ظرف ۵ دقیقه اولین ربات کدمیت خود را راه‌اندازی کرده و یک ربات پاسخگوی ساده (Echo Bot) می‌سازیم.


۱. پیش‌نیازها

  • یک حساب کاربری در کدمیت (CodeMeet)
  • دریافت توکن ربات از طریق @BotFather
  • پایتون نسخه ۳.۱۰ به بالا (یا هر زبان برنامه‌نویسی دلخواه مانند Node.js)

۲. آزمایش اتصال با متد getMe

پیش از نوشتن کد، با اجرای یک دستور ساده cURL یا در مرورگر، اتصال به وب‌سرویس را بررسی کنید:

curl -s "https://botapi.codemeet.chat/bot<YOUR_TOKEN>/getMe"

نمونه پاسخ موفق:

{
  "ok": true,
  "result": {
    "id": "e9b2a1c0-4411-4fa3-9f88-d4508671b122",
    "is_bot": true,
    "first_name": "ربات تستی من",
    "username": "my_test_bot"
  }
}


۳. شروع گفتگو با ربات در کدمیت (/start)

/// important | قانون شروع گفتگو (Start Requirement) در پیام‌رسان کدمیت، ربات‌ها تنها زمانی می‌توانند به یک کاربر پیام ارسال کنند که کاربر قبلاً با ارسال دستور /start یا کلیک روی دکمه Start، گفتگو را با ربات آغاز کرده باشد. در غیر این صورت، خطای 403 Forbidden: the user must start the bot first بازگردانده می‌شود. ///

وارد اپلیکیشن کدمیت شوید، آیدی ربات خودتان (مثلاً @my_test_bot) را باز کرده و دکمه Start را بزنید.


۴. نوشتن ربات با پایتون (Echo Bot)

کتابخانه requests را نصب کنید:

pip install requests

یک فایل به نام bot.py ایجاد کرده و کد زیر را در آن قرار دهید:

import requests
import time

TOKEN = "YOUR_BOT_TOKEN_HERE"
API_URL = f"https://botapi.codemeet.chat/bot{TOKEN}"

def get_updates(offset=None):
    params = {"timeout": 20}
    if offset:
        params["offset"] = offset
    response = requests.get(f"{API_URL}/getUpdates", params=params, timeout=25)
    return response.json()

def send_message(chat_id, text):
    payload = {
        "chat_id": chat_id,
        "text": text
    }
    response = requests.post(f"{API_URL}/sendMessage", json=payload, timeout=10)
    return response.json()

def main():
    print("ربات کدمیت شروع به کار کرد...")
    offset = None

    while True:
        try:
            updates = get_updates(offset)
            if not updates.get("ok"):
                time.sleep(1)
                continue

            for update in updates.get("result", []):
                # به‌روزرسانی آفست برای تأیید دریافت پیام
                offset = update["update_id"] + 1

                message = update.get("message")
                if not message:
                    continue

                chat_id = message["chat"]["id"]
                text = message.get("text", "")
                sender_name = message.get("from", {}).get("first_name", "کاربر")

                if text == "/start":
                    send_message(chat_id, f"سلام {sender_name} عزیز!\nبه ربات کدمیت خوش آمدید.")
                else:
                    send_message(chat_id, f"شما گفتید: {text}")

        except requests.exceptions.RequestException as e:
            print("خطای شبکه:", e)
            time.sleep(3)
        except Exception as e:
            print("خطا:", e)
            time.sleep(1)

if __name__ == "__main__":
    main()

اکنون اسکریپت را اجرا کنید:

python bot.py

به کدمیت بروید و به ربات پیام بدهید؛ ربات بلافاصله پاسخ پیام شما را خواهد داد.