پایتون
گفت‌وگو

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

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

فهرست مطالب

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

متدتوضیحاتپارامترها
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