سرویس گفتوگو
مدیریت پیامها و تعاملات گفتوگویی با استفاده از سرویس گفتوگو. این سرویس ابزارهای جامعی برای مدیریت مکالمات، پیامها و تعاملات چت فراهم میکند: ایجاد و مدیریت گفتوگوها، ارسال و دریافت پیامها، پشتیبانی از انواع مختلف پیام.
فهرست مطالب
متدهای گفتوگو
متد | توضیحات | پارامترها |
---|---|---|
create_message() | ایجاد پیام | request: MessageRequest |
create_chat() | ایجاد گفتوگو | request: CreateChatRequest |
get_messages() | دریافت پیامها | request: GetMessagesRequest |
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(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(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