Zrzur المطوّرون

المكتبات

@zrzur/sdk هي مكتبة زرزور الرسمية للتطبيقات والبوتات: TypeScript وESM وNode 22.3 أو أحدث (أو Deno 2.2 أو أحدث، أو المتصفح). حزمة واحدة بثلاث نقاط دخول:

الاستيرادما هو
@zrzur/sdk/botالبوتات: الأوامر والأزرار والقوائم والنماذج والإكمال التلقائي والردود الخاصة والمؤجلة والتضمينات والجامعات والرفع
@zrzur/sdkالأساس: عميل HTTP (كل مسار مكتوب من OpenAPI)، والبوابة، وأنواع الواجهة، والأحداث
@zrzur/sdk/solidالعميل الحي لتطبيق زرزور (SolidJS): مخازن للسيرفرات والقنوات والرسائل

لا تحتاج إلى SolidJS إلا مع @zrzur/sdk/solid، ولا ينزله البوت أبدًا.

توجد أيضًا @zrzur/bot، مكتبة أقدم وأصغر بالواجهة نفسها للبوتات، وهي غير منشورة أيضًا. ينبغي للبوتات الجديدة انتظار @zrzur/sdk/bot.

@zrzur/sdk/bot (للبوتات)

import { Client } from "@zrzur/sdk/bot";

// Zrzur's own servers by default; a self-hosted server passes { apiUrl, wsUrl }
const client = new Client();
await client.login(process.env.ZRZUR_TOKEN);
المجالالدوال
الأوامرclient.command وclient.component وclient.modal وclient.autocomplete وclient.syncCommands وclient.fetchCommands
الردودi.reply وi.defer وi.update وi.deferUpdate وi.showModal وi.respond وi.editReply وi.followUp وi.deleteReply
الأحداثclient.on(type) وclient.onMessage وclient.onMemberJoin وclient.onMemberLeave وclient.onReaction
الرسائلclient.messages.send وreply وfetch وfetchMany وedit وdelete وbulkDelete وreact وunreact وclearReactions وpin وunpin
الأعضاءclient.members.fetch وfetchAll وedit وaddRole وremoveRole وtimeout وkick وban وunban
الأدوار والقنواتclient.roles.* وclient.channels.*
المستخدمونclient.users.fetch وopenDM وsendDM
الويب هوكclient.webhooks.create وlist وlistForServer وfetch وfetchWithToken وedit وregenerateToken وdelete وsend وsendSlack وfetchMessage وeditMessage وdeleteMessage
الجامعاتmessage.createMessageComponentCollector وmessage.awaitMessageComponent وinteraction.awaitModalSubmit
الرموز التعبيريةclient.emojis.list وfetch وfind وcreate وdelete
الصوتclient.voice.nodes وclient.voice.join
أي شيء آخرclient.rest.get(path) وpost وput وpatch وdelete (مكتوبة لكل مسار)، وclient.rest.uploadFile(tag, data, name, type)

تُرمى أخطاء الواجهة بصيغة ApiError مع status وtype وdetail، وretryAfter بعد 429. تُنتظر الحدود القصيرة، وبعد الحد العام ينتظر كل طلب حتى يعود. تفتح البوابة حزم Bulk وتعيد الاتصال بانتظار متزايد.

تذكر كل نقطة نهاية في هذا المرجع دالة المكتبة التي تستدعيها، إن وُجدت.

@zrzur/sdk (الأساس)

import { Api, Gateway, Intents } from "@zrzur/sdk";

const api = new Api({ baseURL: "https://api.zrzur.com", authentication: { bot: process.env.ZRZUR_TOKEN } });
const me = await api.get("/users/@me");

استخدمها لأدوات لا تحتاج إلا إلى واجهة HTTP أو البوابة، في أي إطار عمل.

@zrzur/sdk/solid (للتطبيقات)

العميل الذي بُني عليه تطبيق زرزور: عميل مستخدم بمخازن حية للسيرفرات والقنوات والرسائل. يستطيع الدخول برمز بوت، لكن ليس فيه واجهة تفاعلات (أوامر ومكوّنات ونماذج). استخدمه لأدوات تتصرف كتطبيق، واستخدم @zrzur/sdk/bot للبوتات.

دون مكتبة

كل ميزة هي HTTP وWebSocket عاديان. انظر بلا مكتبة.