Skip to Content
مستندات SDKPythonگفت‌وگو (چت)

سرویس گفت‌وگو

مدیریت پیام‌ها و قابلیت‌های گفت‌وگو با استفاده از سرویس گفت‌وگو (چت). این سرویس ابزارهای جامعی برای مدیریت مکالمات، پیام‌ها و تعاملات گفت‌وگو فراهم می‌کند: ایجاد و مدیریت گفت‌وگوها، ارسال و دریافت پیام‌ها، مدیریت انواع مختلف پیام، فوروارد پیام، به‌روزرسانی‌های پیام‌ها و بات باسلام.

فهرست مطالب

متدهای گفت‌وگو

متدتوضیحاتپارامترها
create_message()ایجاد پیامrequest: MessageRequest
create_chat()ایجاد گفت‌وگوrequest: CreateChatRequest
get_messages()دریافت پیام‌های یک گفت‌وگوrequest: GetMessagesRequest
get_chats()دریافت لیست گفت‌وگوهاrequest: GetChatsRequest
edit_message()ویرایش یک پیام موجودrequest: EditMessageRequest
delete_message()حذف پیام‌هاrequest: DeleteMessageRequest
delete_chats()حذف چند گفت‌وگوrequest: DeleteChatsRequest
forward_message()فوروارد پیام‌هاrequest: ForwardMessageRequest
get_unseen_chat_count()دریافت تعداد گفت‌وگوهای خوانده نشدهNone

متدهای بات

متدهای API بات به شما اجازه می‌دهند با عملکردهای مرتبط با بات تعامل داشته باشید. همه متدهای بات نیاز به یک توکن بات به فرمت: {bot_id}:{token_string} دارند (مثال: “123456789:ABCdefGHIjklMNOpqrsTUVwxyz”)

متدتوضیحاتپارامترها
get_webhook_info()دریافت اطلاعات وب‌هوک (GET)token: str
get_webhook_info_post()دریافت اطلاعات وب‌هوک (POST)token: str
log_out()خروج بات (GET)token: str
log_out_post()خروج بات (POST)token: str
delete_webhook()حذف وب‌هوک (GET)token: str
delete_webhook_post()حذف وب‌هوک (POST)token: str
delete_webhook_delete()حذف وب‌هوک (DELETE)token: str
get_me()دریافت اطلاعات بات (GET)token: str
get_me_post()دریافت اطلاعات بات (POST)token: str

مثال‌ها

پیکربندی اولیه

from basalam_sdk import BasalamClient, PersonalToken auth = PersonalToken( token="your_access_token", refresh_token="your_refresh_token" ) client = BasalamClient(auth=auth)

ایجاد پیام

import asyncio from basalam_sdk.chat.models import MessageRequest, MessageTypeEnum, MessageInput async def create_message_example(): request = MessageRequest( chat_id=123, message_type=MessageTypeEnum.TEXT, content=MessageInput( text="سلام، چطور می‌تونم کمکتون کنم؟" ) ) message = await client.create_message(request=request) return message

ایجاد گفت‌وگو

import asyncio from basalam_sdk.chat.models import CreateChatRequest async def create_chat_example(): request = CreateChatRequest( user_id=123 ) new_chat = await client.create_chat(request=request) return new_chat

دریافت پیام‌ها

import asyncio from basalam_sdk.chat.models import GetMessagesRequest async def get_messages_example(): request = GetMessagesRequest( chat_id=123, message_id=456, limit=20, order="desc", ) messages = await client.get_messages(request=request) return messages

دریافت لیست گفت‌وگوها

import asyncio from basalam_sdk.chat.models import GetChatsRequest, MessageOrderByEnum, MessageFiltersEnum async def get_chats_example(): request = GetChatsRequest( limit=30, order_by=MessageOrderByEnum.UPDATED_AT, filters=MessageFiltersEnum.UNSEEN ) chats = await client.get_chats(request=request) return chats

ویرایش پیام

import asyncio from basalam_sdk.chat.models import EditMessageRequest, MessageInput async def edit_message_example(): request = EditMessageRequest( message_id=456, content=MessageInput( text="متن پیام به‌روزرسانی شده" ) ) result = await client.chat.edit_message(request=request) return result

حذف پیام

import asyncio from basalam_sdk.chat.models import DeleteMessageRequest async def delete_message_example(): request = DeleteMessageRequest( message_ids=[456, 457] ) result = await client.chat.delete_message(request=request) return result

حذف گفت‌وگوها

import asyncio from basalam_sdk.chat.models import DeleteChatsRequest async def delete_chats_example(): request = DeleteChatsRequest( chat_ids=[123, 456, 789] ) result = await client.chat.delete_chats(request=request) return result

فوروارد پیام

import asyncio from basalam_sdk.chat.models import ForwardMessageRequest async def forward_message_example(): request = ForwardMessageRequest( message_ids=[456, 457], chat_ids=[789] ) result = await client.chat.forward_message(request=request) return result

دریافت تعداد گفت‌وگوهای خوانده نشده

import asyncio async def get_unseen_chat_count_example(): count = await client.chat.get_unseen_chat_count() print(f"چت‌های خوانده نشده: {count}") return count

دریافت اطلاعات وب‌هوک

import asyncio async def get_webhook_info_example(): # استفاده از متد GET result = await client.chat.get_webhook_info( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) print(f"اطلاعات Webhook: {result}") # استفاده از متد POST result = await client.chat.get_webhook_info_post( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result # نسخه همگام def get_webhook_info_sync_example(): result = client.chat.get_webhook_info_sync( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result

خروج بات

import asyncio async def log_out_example(): # استفاده از متد GET result = await client.chat.log_out( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) print(f"نتیجه خروج: {result}") # استفاده از متد POST result = await client.chat.log_out_post( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result # نسخه همگام def log_out_sync_example(): result = client.chat.log_out_sync( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result

حذف وب‌هوک

import asyncio async def delete_webhook_example(): # استفاده از متد GET result = await client.chat.delete_webhook( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) print(f"نتیجه حذف webhook: {result}") # استفاده از متد POST result = await client.chat.delete_webhook_post( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) # استفاده از متد DELETE (پیشنهادی) result = await client.chat.delete_webhook_delete( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result # نسخه همگام def delete_webhook_sync_example(): result = client.chat.delete_webhook_sync( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result

دریافت اطلاعات بات

import asyncio async def get_me_example(): # استفاده از متد GET result = await client.chat.get_me( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) print(f"اطلاعات بات: {result}") # استفاده از متد POST result = await client.chat.get_me_post( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result # نسخه همگام def get_me_sync_example(): result = client.chat.get_me_sync( token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" ) return result

انواع پیام

سرویس گفت‌وگو از انواع مختلف پیام پشتیبانی می‌کند (مشاهده MessageTypeEnum):

  • file - فایل‌های ضمیمه
  • product - کارت محصول
  • vendor - غرفه‌دار
  • text - پیام‌های متنی ساده
  • picture - پیام‌های تصویری (URL یا فایل)
  • voice - پیام‌های صوتی
  • video - پیام‌های ویدیویی
  • location - اشتراک‌گذاری موقعیت مکانی
Last updated on