این پروژه یک ربات تلگرامی است که با استفاده از Pyrogram و API هوش مصنوعی Gemini گوگل ساخته شده است. ربات میتواند به دستورات متنی پاسخ دهد و همچنین در پاسخ به پیامهای دیگر (reply)، یک مکالمه را تحلیل کرده و پاسخ مناسب تولید کند.
- پاسخ به دستورات مستقیم: با ارسال پیامهایی که با
!hey
شروع میشوند، مستقیماً از مدل Gemini پاسخ دریافت کنید. - پاسخ هوشمند به پیامها: با ریپلای کردن روی یک پیام و استفاده از دستور
!hey reply
، ربات کل زنجیره مکالمه را تحلیل کرده و پاسخ مرتبط تولید میکند. - پیکربندی آسان: تمام تنظیمات از طریق یک فایل
.env
مدیریت میشوند. - کدنویسی تمیز: پروژه با ساختار کلاسبندی شده و خوانا نوشته شده است.
- پایتون نسخه ۳.۷ یا بالاتر
- حساب کاربری تلگرام و کلیدهای API (API ID و API Hash)
- کلید API از Google AI Studio برای استفاده از Gemini
۱. کلون کردن پروژه:
git clone https://github.com/DeepPythonist/TeleAgent.git
cd TeleAgent
۲. نصب کتابخانههای مورد نیاز: توصیه میشود که یک محیط مجازی (virtual environment) ایجاد کنید:
python -m venv venv
source venv/bin/activate # در ویندوز: venv\Scripts\activate
سپس بستههای مورد نیاز را نصب کنید:
pip install -r requirements.txt
۳. پیکربندی متغیرهای محیطی:
یک کپی از فایل .env.example
با نام .env
بسازید:
cp .env.example .env
سپس فایل .env
را با اطلاعات خود ویرایش کنید.
API_HASH
وAPI_ID
: از my.telegram.org دریافت کنید.GEMINI_TOKEN
: کلید API خود را از Google AI Studio دریافت کنید.CLIENT_ID
: شناسه عددی اکانت تلگرامی که میخواهید به عنوان ادمین ربات باشد. میتوانید این شناسه را از رباتهایی مانند@userinfobot
دریافت کنید.SESSION_NAME
: یک نام دلخواه برای فایل نشست (session) پایروگرام.MODEL
: نام مدلی که میخواهید استفاده کنید (مثلاًgemini-pro
).
پس از اجرای ربات با دستور python bot.py
، میتوانید از دستورات زیر در هر چتی (خصوصی یا گروهی) استفاده کنید:
-
دستور مستقیم: یک پیام جدید بنویسید و سوال یا دستور خود را پس از
!hey
وارد کنید.!hey پایتون بهتر است یا جاوااسکریپت؟
-
پاسخ به یک پیام (Reply): روی پیام مورد نظر ریپلای کنید و دستور خود را پس از
!hey reply
بنویسید. ربات به کل زنجیره پیامها نگاه کرده و پاسخ میدهد.!hey reply به این مکالمه یک پاسخ طنزآمیز بده
ربات پیام شما را ویرایش کرده و پاسخ تولید شده را جایگزین آن میکند.