AI ChatBot (telegram,GPT)

AI Chat Bot ( with Telegram )

Destkop ပေါ်မှာ Folder ဆောက် bottest

This folder with open VS Code 

In this folder , 

bot.py 

Knowledge.txt

.env (telegram api, gpt api)

Venv folder

1

# Desktop ပေါ်တွင် bottest folder ဆောက်ပြီး ဝင်ရောက်ခြင်း 

mkdir -p ~/Desktop/bottest

cd ~/Desktop/bottest 

# Python Virtual Environment ဆောက်ပြီး activate လုပ်ခြင်း 

python3 -m venv venv (in Windows, python -m venv venv)

source venv/bin/activate venv\Scripts\activate

# လိုအပ်သော Library များ install ပြုလုပ်ခြင်း 

pip install python-telegram-bot openai python-dotenv

2.BotFather တွင် Telegram Bot တည်ဆောက်ပါ:Bot Token ကို ရယူသိမ်းဆည်းပါ.

Telegram အက်ပ်ကို ဖွင့်ပြီး BotFather ထံမှ API Token ရယူပါမည်

  1. Telegram ရှာဖွေမှု (Search) တွင် @BotFather ဟု ရိုက်ရှာပြီး ဝင်ရောက်ပါ။
  2. Start နှိပ်ပြီး /newbot ဟု ရိုက်ပို့ပါ
  3. Bot အတွက် Display Name ပေးပါ (ဥပမာ – My ST Bot)။
  4. Bot အတွက် Username ပေးပါ (နောက်ဆုံးတွင် bot ဖြင့် ဆုံးရပါမည်၊ ဥပမာ – mysupport_ai_bot) 
  5. BotFather မှ HTTP API Token ပေးပါမည်။ ထို token ကို လုံခြုံစွာ ကူးယူထားပါ

3.OpenAI API Key ရယူပါ:GPT-4o-mini အသုံးပြုရန်.

OpenAI Developer Platform သို့ သွားရောက်၍ API Key ရယူပါမည်

  1. platform.openai.com သို့ သွားရောက် Login ဝင်ပါ။
  2. ဘယ်ဘက်ခြမ်းရှိ API Keys သို့ သွားပါ
  3. Create new secret key ကို နှိပ်ပြီး နာမည်တစ်ခုပေးကာ ထွက်လာသော Secret Key ကို copy ယူထားပါ

4.ပရောဂျက်ဖိုင်များ ဖန်တီးပါ (.env, knowledge.txt, bot.py):bottest folder ထဲတွင် ဖိုင် ၃ ခု ထည့်သွင်းရန်.

VS Code သို့မဟုတ် Text Editor တစ်ခုခုဖြင့် ~/Desktop/bottest folder ထဲတွင် အောက်ပါဖိုင်များကို ဖန်တီးပါ

၁။ .env ဖိုင်ဖန်တီးခြင်း

env

TELEGRAM_BOT_TOKEN=”သင်၏_TELEGRAM_BOT_TOKEN_ကိုဒီမှာထည့်ပါ”

OPENAI_API_KEY=”သင်၏_OPENAI_API_KEY_ကိုဒီမှာထည့်ပါ”

၂။ knowledge.txt ဖိုင်ဖန်တီးခြင်း

သင့်လုပ်ငန်း/သင်တန်းနှင့် သက်ဆိုင်သော FAQ များ၊ ဈေးနှုန်းနှင့် ငွေပေးချေမှု အချက်အလက်များကို ထည့်သွင်းပါ-

Plaintext

=== COURSE / BUSINESS INFO ===

အမည်: AI & Python Foundation

သင်တန်းကြေး: 100,000 MMK (၁ သိန်းကျပ်)

ကြာချိန်: ၄ ပတ် (Self-paced online)

=== PAYMENT METHODS ===

KPay / Wave: 09xxxxxxxxx (အမည်: U Mg Mg)

ငွေလွှဲပြီးပါက screenshot ကို Telegram သို့ ပေးပို့ပေးရပါမည်။

=== REFUND POLICY ===

No refund (ငွေပြန်အမ်းခြင်း မရှိပါ)။

=== WHEN YOU DO NOT KNOW ===

အကယ်၍ ဤဖိုင်ထဲတွင် မပါရှိသော မေးခွန်းဖြစ်ပါက မခန့်မှန်းပါနှင့်၊ တာဝန်ရှိသူမှ တိုက်ရိုက်ဆက်သွယ်ဖြေကြားပေးမည်ဟု ဖြေကြားပါ။

ဆက်သွယ်ရန်: support@example.com သို့မဟုတ် @admin_handle

၃။ bot.py ဖိုင်ဖန်တီးခြင်း

Python

import os

from pathlib import Path

from dotenv import load_dotenv

from openai import OpenAI

from telegram import Update

from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, MessageHandler, filters

# Load environment variables

load_dotenv()

TELEGRAM_BOT_TOKEN = os.getenv(“TELEGRAM_BOT_TOKEN”)

OPENAI_API_KEY = os.getenv(“OPENAI_API_KEY”)

if not TELEGRAM_BOT_TOKEN or not OPENAI_API_KEY:

    raise ValueError(“Missing TELEGRAM_BOT_TOKEN or OPENAI_API_KEY in .env file”)

client = OpenAI(api_key=OPENAI_API_KEY)

# Load knowledge base

knowledge_path = Path(__file__).parent / “knowledge.txt”

if not knowledge_path.exists():

    raise FileNotFoundError(“knowledge.txt file is missing!”)

with open(knowledge_path, “r”, encoding=”utf-8″) as f:

    KNOWLEDGE_BASE = f.read()

# System prompt with language rules

SYSTEM_PROMPT = f”””You are a helpful customer support AI assistant.

Follow these rules strictly:

1. Use ONLY the knowledge base below as your source of truth. Never invent details, prices, or policies.

2. If the user’s question is 100% English, reply in English only.

3. If the user’s question contains ANY Burmese word, reply entirely in Burmese.

4. If you do not know the answer based on the knowledge base, state that clearly and provide the support contact.

Knowledge Base:

{KNOWLEDGE_BASE}

“””

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):

    welcome_text = “မင်္ဂလာပါ! ကျွန်တော်က အချက်အလက်များကို ဖြေကြားကူညီပေးမည့် Bot ဖြစ်ပါတယ်။ မေးခွန်းများ မေးမြန်းနိုင်ပါပြီခင်ဗျာ။\n\n(You can also ask questions in English.)”

    await update.message.reply_text(welcome_text)

async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):

    user_message = update.message.text

    # Send typing action

    await context.bot.send_chat_action(chat_id=update.effective_chat.id, action=”typing”)

    try:

        response = client.chat.completions.create(

            model=”gpt-4o-mini”,

            messages=[

                {“role”: “system”, “content”: SYSTEM_PROMPT},

                {“role”: “user”, “content”: user_message}

            ],

            temperature=0.2

        )

        answer = response.choices[0].message.content.strip()

        await update.message.reply_text(answer)

    except Exception as e:

        await update.message.reply_text(f”Error: {str(e)}”)

if __name__ == “__main__”:

    print(“Bot is starting…”)

    app = ApplicationBuilder().token(TELEGRAM_BOT_TOKEN).build()

    app.add_handler(CommandHandler(“start”, start))

    app.add_handler(MessageHandler(filters.TEXT & (~filters.COMMAND), handle_message))

    app.run_polling()

5.Bot ကို Run ၍ Telegram မှ စမ်းသပ်ပါ:

Terminal မှ စတင် run ရန်.

Terminal တွင် အောက်ပါ command ဖြင့် run ပါ။

python bot.py

Bot is starting… ဟု ပေါ်လာပါက Telegram သို့ သွား၍ သင်ဖန်တီးထားသော Bot အကောင့်ထဲတွင် အောက်ပါတို့ကို စမ်းသပ်မေးမြန်းနိုင်ပါသည်