المستخدمون والأعضاء
المستخدم حساب في زرزور، والعضو مستخدم داخل سيرفر واحد، له لقب وأدوار ومهلة.
ما يراه البوت عن الناس
يرى البوت ما يراه أعضاء السيرفر نفسه: اسم المستخدم والاسم الظاهر والصورة والشارات والحالة والملف العام. ولا يرى أبدًا عناوين البريد أو الجلسات أو الإعدادات أو خيارات الخصوصية أو الأصدقاء.
- يعيد
GET /users/{target}مستخدمًا يراه البوت (يشاركه سيرفرًا أو رسالة خاصة). - قد يُرفض
GET /users/{target}/profile(403) إذا لم يكن الملف مرئيًا للبوت. - الأصدقاء والحظر للأشخاص فقط. ترفض كل نقاط نهاية الأصدقاء والحظر البوتات بالخطأ
IsBot. - يدل
officialعلى حساب تديره زرزور، ويحملofficial_namesاسمه بكل لغة (arوenوde)، وdisplay_nameهو البديل عند غيابه. ويدلofficial_botعلى بوت تشغّله زرزور بنفسها. ويُرفض الرد على الحساب الرسمي والتفاعل مع رسائله وتثبيتها والإبلاغ عنه بـ403 OfficialAccount.
حدود الخصوصية
يقرر الناس من يراسلهم. والبوت ليس صديقًا أبدًا، لذلك:
| إعداد «الرسائل الخاصة» عندهم | هل يبدأ البوت رسالة خاصة؟ |
|---|---|
| الجميع | نعم |
| المشتركون (الافتراضي: سيرفر أو مجموعة مشتركة) | نعم، ما دام البوت يشاركهم سيرفرًا |
| الأصدقاء | لا |
لا تصل رسائل البوت إلى من حظره، ومن كتب إلى البوت أولًا يستطيع دائمًا تلقي الجواب. قد ينجح فتح قناة الرسالة الخاصة (GET /users/{target}/dm) بينما يُرفض الإرسال بـ403 DirectMessagesRestricted أو Blocked. لا تُعد المحاولة عند هذين الخطأين: انشر في قناة السيرفر دون تفاصيل خاصة.
لدعوات المجموعات إعدادها الخاص، ولا تستطيع البوتات إنشاء مجموعات أو إضافة أحد إليها أبدًا.
تنطبق فحوص العمر للقنوات الموسومة للبالغين على الأشخاص فقط: لا عمر للبوتات ولا تُفحص. لا تستخدم بوتًا لعرض محتوى للبالغين على أعضاء لا يستطيعون فتح تلك القنوات.
الأعضاء
تعمل نقاط نهاية الأعضاء على السيرفرات التي فيها البوت.
- يعيد
GET /servers/{target}/membersكل الأعضاء ومستخدميهم في استجابة واحدة. فضّل بيانات الأعضاء فيReadyوفي التفاعلات متى أمكن: طلبات أقل، وحصةserversصغيرة. - يغيّر
PATCH /servers/{server_id}/members/{member_id}الألقاب والأدوار والمهل وحالة الصوت. يتطلب كل تغيير صلاحيته، ويجب أن يكون الهدف أدنى من البوت (وأدنى من المشرف إذا كان بوتك يعمل باسمه). - تبقي الأحداث
ServerMemberJoinوServerMemberUpdateوServerMemberLeaveالذاكرة محدثة.
المرجع: المستخدمون
GET /users/{target}
Fetch User. Retrieve a user's information.
الصلاحيات: User:Access · حد المعدل: users, 20 / 10 s
PATCH /users/{target}
Edit User. Edit currently authenticated user.
حد المعدل: user_edit, 2 / 10 s
DELETE /users/{target}/block
Unblock User. Unblock another user by their id.
غير متاح للبوتات.
حد المعدل: users, 20 / 10 s
PUT /users/{target}/block
Block User. Block another user by their id.
غير متاح للبوتات.
حد المعدل: users, 20 / 10 s
GET /users/{target}/default_avatar
Fetch Default Avatar. This returns a default avatar based on the given id.
حد المعدل: default_avatar, 255 / 10 s
GET /users/{target}/dm
Open Direct Message. Open a DM with another user.
If the target is oneself, a saved messages channel is returned.
Fails with DirectMessagesRestricted when the other user's privacy settings don't let you start a conversation with them.
الصلاحيات: User:SendMessage, Channel:SendMessage · حد المعدل: users, 20 / 10 s
GET /users/{target}/flags
Fetch User Flags. Retrieve a user's flags.
حد المعدل: users, 20 / 10 s
DELETE /users/{target}/friend
Deny Friend Request / Remove Friend. Denies another user's friend request or removes an existing friend.
غير متاح للبوتات.
حد المعدل: users, 20 / 10 s
PUT /users/{target}/friend
Accept Friend Request. Accept another user's friend request.
غير متاح للبوتات.
حد المعدل: users, 20 / 10 s
GET /users/{target}/mutual
Fetch Mutual Friends, Servers, Groups and DMs. Retrieve a list of mutual friends, servers, groups and DMs with another user.
الصلاحيات: User:ViewProfile · حد المعدل: users, 20 / 10 s
GET /users/{target}/profile
Fetch User Profile. Retrieve a user's profile data. Will fail if you do not have permission to access the other user's profile.
الصلاحيات: User:ViewProfile · حد المعدل: users, 20 / 10 s
GET /users/@me
Fetch Self. Retrieve your user information.
حد المعدل: users, 20 / 10 s
GET /users/@me/change-requests
Change requests. Changes to your account that Zrzur asked you to agree to and that are still waiting for your answer.
حد المعدل: users, 20 / 10 s
POST /users/@me/change-requests/{id}
Answer a change request. Accept (the change is applied now) or decline (nothing changes).
حد المعدل: users, 20 / 10 s
GET /users/@me/mentions
Fetch Mentions. Messages from the last 30 days that mention you: by name, by one of your roles, or with @everyone / @here, in channels you can see. Newest first. For people only: the whole messages and their authors would pass a bot's intents.
غير متاح للبوتات.
الصلاحيات: Channel:ViewChannel · حد المعدل: users, 20 / 10 s
GET /users/@me/privacy
Fetch Privacy Settings. Who can message you and who can add you to group chats.
غير متاح للبوتات.
حد المعدل: users, 20 / 10 s
PATCH /users/@me/privacy
Edit Privacy Settings. Change who can message you and who can add you to group chats. Fields left out stay the same.
غير متاح للبوتات.
حد المعدل: user_edit, 2 / 10 s
GET /users/dms
Fetch Direct Message Channels. This fetches your direct messages, including any DM and group DM conversations.
حد المعدل: users, 20 / 10 s
POST /users/friend
Send Friend Request. Send a friend request to another user.
غير متاح للبوتات.
حد المعدل: users, 20 / 10 s
المرجع: الأعضاء
POST /servers/{server_id}/lobby/answers
Answer Lobby Question. Add the role attached to a public interest choice to the authenticated member. Existing roles are preserved; answering again is idempotent.
حد المعدل: servers, 5 / 10 s
DELETE /servers/{server_id}/lobby/answers/{question}/{option}
Remove Lobby Answer. Take back an interest choice: removes the role of that configured answer from the authenticated member. Other roles stay; removing again is idempotent.
حد المعدل: servers, 5 / 10 s
GET /servers/{server_id}/members/{member_id}
Fetch Member. Retrieve a member.
حد المعدل: servers, 5 / 10 s
PATCH /servers/{server_id}/members/{member_id}
Edit Member. Edit a member by their id.
الصلاحيات: Channel:ChangeNickname, Channel:ManageNicknames, Channel:ChangeAvatar, Channel:RemoveAvatars, Channel:AssignRoles, Channel:TimeoutMembers, Channel:MuteMembers, Channel:DeafenMembers, Channel:MoveMembers, Channel:Connect, Channel:ManageChannel · حد المعدل: servers, 5 / 10 s
GET /servers/{target}/invites
Fetch Invites. Fetch all server invites.
الصلاحيات: Channel:ManageServer · حد المعدل: servers, 5 / 10 s
GET /servers/{target}/join_requests
Fetch Join Requests. Pending requests to join this server, oldest first.
حد المعدل: servers, 5 / 10 s
POST /servers/{target}/join_requests/{applicant}/approve
Approve Join Request. Make the applicant a member. Fails if the request is no longer pending (already decided by someone else) or the person can't join (banned, server limit, age).
حد المعدل: servers, 5 / 10 s
POST /servers/{target}/join_requests/{applicant}/reject
Reject Join Request.
حد المعدل: servers, 5 / 10 s
DELETE /servers/{target}/join_requests/@me
Cancel Own Join Request.
حد المعدل: servers, 5 / 10 s
GET /servers/{target}/join_requests/@me
Fetch Own Join Request. Where your request to join this server stands.
حد المعدل: servers, 5 / 10 s
GET /servers/{target}/members
Fetch Members. Fetch server members, a page at a time (limit, after).
حد المعدل: servers, 5 / 10 s
GET /servers/{target}/members_experimental_query
Query members by name. Query members by a given name, this API is not stable and will be removed in the future.
حد المعدل: servers, 5 / 10 s
POST /servers/{target}/rules/accept
Accept the rules. Accept the server's rules (rules screening). Members who joined after screening was switched on can talk once they have accepted.
حد المعدل: servers, 5 / 10 s