├── config.py ├── main.py └── README.md /config.py: -------------------------------------------------------------------------------- 1 | API_TOKEN = "7824uuhhndftq8qddzhyL0" 2 | GPT_API_KEY = "skghjjgjk.`txWNkQ0uQ27OA7hD_fB21IVyN--2HDhv_TbkaE8ZatZ5uUcf6C6Ptw2aEmGZYA" 3 | API_ID = "3344455" 4 | API_HASH = "7fc5b3569244yybben6481ab5eca3" -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import aiohttp 2 | from pyrogram import Client, filters 3 | from pyrogram.enums import ParseMode 4 | from config import GPT_API_KEY, API_ID, API_HASH, API_TOKEN 5 | 6 | async def fetch_gpt_response(prompt, model): 7 | async with aiohttp.ClientSession() as session: 8 | url = f"https://api.openai.com/v1/chat/completions" 9 | headers = { 10 | "Authorization": f"Bearer {GPT_API_KEY}", 11 | "Content-Type": "application/json" 12 | } 13 | data = { 14 | "model": model, 15 | "messages": [{"role": "user", "content": prompt}], 16 | "max_tokens": 100, 17 | "n": 1, 18 | "stop": None, 19 | "temperature": 0.5 20 | } 21 | 22 | async with session.post(url, headers=headers, json=data) as response: 23 | if response.status == 200: 24 | json_response = await response.json() 25 | return json_response['choices'][0]['message']['content'] 26 | else: 27 | error_message = await response.text() 28 | print(f"Error {response.status}: {error_message}") 29 | return None 30 | 31 | def setup_gpt_handlers(app: Client): 32 | @app.on_message(filters.command(["gpt4"], prefixes=["/", "."]) & (filters.private | filters.group)) 33 | async def gpt4_handler(client, message): 34 | await client.send_message(message.chat.id, "**GPT-4 Gate Off 🔕**", parse_mode=ParseMode.MARKDOWN) 35 | 36 | @app.on_message(filters.command(["gpt","gpt3","gpt3.5"], prefixes=["/", "."]) & (filters.private | filters.group)) 37 | async def gpt_handler(client, message): 38 | try: 39 | # Check if a prompt is provided 40 | if len(message.command) <= 1: 41 | await client.send_message(message.chat.id, "**❌Please Provide A Prompt**", parse_mode=ParseMode.MARKDOWN) 42 | return 43 | 44 | prompt = " ".join(message.command[1:]) 45 | # Send a temporary message indicating the bot is generating a response 46 | loading_message = await client.send_message(message.chat.id, "**⚡️Generating GPT Response....⌛️**", parse_mode=ParseMode.MARKDOWN) 47 | # Fetch response from the API 48 | response_text = await fetch_gpt_response(prompt, "gpt-4o-mini") 49 | 50 | if response_text: 51 | # Edit the loading message to show the response text 52 | await loading_message.edit_text(response_text, parse_mode=ParseMode.MARKDOWN) 53 | else: 54 | # Edit the loading message to show the error message 55 | await loading_message.edit_text("**❌ Error Generating Response**", parse_mode=ParseMode.MARKDOWN) 56 | except Exception as e: 57 | print(f"Exception: {e}") 58 | await loading_message.edit_text("**Error Generating Response...**", parse_mode=ParseMode.MARKDOWN) 59 | 60 | app = Client("gpt_bot", api_id=API_ID, api_hash=API_HASH, bot_token=API_TOKEN) 61 | setup_gpt_handlers(app) 62 | 63 | if __name__ == "__main__": 64 | app.run() 65 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
4 | ChatGptBot: An AI-powered Telegram bot script for generating text-based responses using OpenAI 5 |
6 | 7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |