سرویس گفتوگو
مدیریت پیامها و تعاملات گفتوگویی با استفاده از سرویس گفتوگو. این سرویس ابزارهای جامعی برای مدیریت مکالمات، پیامها و تعاملات چت فراهم میکند: ایجاد و مدیریت گفتوگوها، ارسال و دریافت پیامها، پشتیبانی از انواع مختلف پیام.
فهرست مطالب
متدهای گفتوگو
| متد | توضیحات | پارامترها |
|---|---|---|
create_message() | ایجاد پیام | chat_id: int, request: MessageRequest |
create_chat() | ایجاد گفتوگو | request: CreateChatRequest |
get_messages() | دریافت پیامها | chat_id: int, request: Optional[GetMessagesRequest] = None |
get_chats() | دریافت لیست گفتوگوها | request: GetChatsRequest |
مثالها
پیکربندی اولیه
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(chat_id=123, request=request)
return messageانواع مختلف پیام شامل موارد زیر در مدل MessageTypeEnum پشتیبانی میشوند:
file- فایل ضمیمهproduct- کارت محصولvendor- غرفهدارtext- پیام متنی سادهpicture- تصویر (به صورت URL یا فایل)voice- پیام صوتیvideo- پیام ویدیوییlocation- اشتراکگذاری موقعیت مکانی
ایجاد گفتوگو
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(
chat_id=123,
request=GetMessagesRequest(limit=50)
)
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 chatsLast updated on