Ботты құру

1-қадам. Қолданбаны жасаңыз (сілтеме бойынша өтіңіз).

2-қадам. Ботты қосыңыз ("Add Bot" түймесін басыңыз).

2.1-қадам. Installation бөлімінде Install Link → None таңдаңыз.

2.2-қадам. Bot бөлімінде Public Bot өшіріңіз, содан кейін келесі Intents қосыңыз:

  • Message Content Intent
  • Server Members Intent

Сондай-ақ, болашақта пайдалану үшін Presence Intent қосуыңызға болады.

3-қадам. Токенді алыңыз (Reset Token).

4-қадам. Ботты серверге қосыңыз:

  • OAuth2 → URL Generator бөліміне өтіңіз.
  • Scopes бөлімінде bot таңдаңыз.
  • Bot Permissions бөлімінде Send Messages, Read Message History және басқа қажетті рұқсаттарды таңдаңыз.

Содан кейін жасалған сілтемені ашыңыз, ботты қосқыңыз келетін серверді таңдаңыз және авторизацияны растаңыз.

Discord-тан толық вебхукты алу үшін save_webhook айнымалысына кез келген мәнді тағайындаңыз.

Егер айнымалы орнатылса, вебхук discord_webhook мәніне сақталады.

MaviBot-та Discord ботын қосу

Енді MaviBot жобаңыздағы "Messengers" бөліміне өтіңіз:

Содан кейін Discord-тан көшірілген токенді қойыңыз.

Done түймесін басыңыз.

Калькулятор функциялары

Хабарламаға жауап беру

discord_reply_to_message(message_id, text) - Бұл функция хабарламаға жауап беру үшін қолданылады.

Параметрлер Сипаттамасы
! message_id Жауап бергіңіз келетін хабарламаның ID-і.
! text Жауап хабарламасының мәтіні.

Хабарламаны жою

discord_delete_message(message_id) - Бұл функция хабарламаны жою үшін қолданылады.

Параметрлер Сипаттамасы
! message_id Жойылатын хабарламаның ID-і.

Хабарламаны өңдеу

discord_edit_message(message_id, text) - Бұл функция хабарламаны өңдеу үшін қолданылады.

Параметрлер Сипаттамасы
! message_id Өңделетін хабарламаның ID-і.
! text Хабарламаның жаңа мәтіні.

Хабарламаны бекіту

discord_pin_message(message_id) - Бұл функция хабарламаны бекіту үшін қолданылады.

Параметрлер Сипаттамасы
! message_id Бекітілетін хабарламаның ID-і.

Хабарламаны бекітуден алу

discord_unpin_message(message_id) - Бұл функция хабарламаны бекітуден алу үшін қолданылады.

Параметрлер Сипаттамасы
! message_id Бекітуден алынатын хабарламаның ID-і.

Хабарламаға реакция жіберу

discord_send_reaction(message_id, reaction) - Бұл функция хабарламаға реакция жіберу үшін қолданылады.

Параметрлер Сипаттамасы
! message_id Реакция жіберілетін хабарламаның ID-і.
! reaction Жіберілетін реакция. Бір эмодзиді (мысалы, ❤️) немесе сервердегі теңшеулі эмодзидің ID-ін бере аласыз. Теңшеулі эмодзидің ID-ін қалай алуға болатыны туралы ақпарат төменде берілген.

Арнадағы хабарламадан реакцияны алып тастау

discord_delete_reaction(message_id, reaction, user_id) - Бұл функция арнадағы хабарламадан реакцияны алып тастау үшін қолданылады.

Параметрлер Сипаттамасы
! message_id Реакция алып тасталатын хабарламаның ID-і.
! reaction Алып тасталатын реакция. Бір эмодзиді (мысалы, ❤️) немесе сервердегі теңшеулі эмодзидің ID-ін бере аласыз. Теңшеулі эмодзидің ID-ін қалай алуға болатыны туралы ақпарат төменде берілген.
user_id Реакциясын алып тастағыңыз келетін пайдаланушының ID-і. Бұл параметр ағымдағы боттан реакцияны алып тастағыңыз келсе, міндетті емес.

Discord функциялары

Келесі функциялар Discord серверлерін, мүшелерін, арналарын, рөлдерін, хабарламаларын және шақыруларын басқаруға мүмкіндік береді.

Мүшелерді модерациялау

Мүшені бандау

discord_ban_member(user_id, delete_message_seconds) - Бұл функция Discord серверінен мүшені бандау үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Бандалатын мүшенің Discord пайдаланушы ID-і.
delete_message_seconds (Міндетті емес) Бандауға дейінгі көрсетілген секунд санындағы мүшенің алдыңғы хабарламаларын жояды. Барлық хабарламаларды сақтау үшін 0 мәнін орнатыңыз.

Мүшені баннан шығару

discord_unban_member(user_id) - Бұл функция мүшеден банды алып тастау үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Баннан шығарылатын мүшенің Discord пайдаланушы ID-і.

Мүшені серверден шығару

discord_kick_member(user_id) - Бұл функция мүшені бандамай серверден шығару үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Шығарылатын мүшенің Discord пайдаланушы ID-і.

Шығарылған мүше жарамды шақыру сілтемесін пайдаланып серверге қайта қосыла алады.

Мүшені таймаутқа қою

discord_timeout_member(user_id, seconds) - Бұл функция мүшені таймаутқа (дыбысты өшіру) қою үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Мүшенің Discord пайдаланушы ID-і.
! seconds Таймаут ұзақтығы секундпен.

Таймаутты алып тастау

discord_remove_timeout(user_id) - Бұл функция мүшенің таймаутын мерзімінен бұрын алып тастау үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Мүшенің Discord пайдаланушы ID-і.

Хабарламаларды топтап жою

discord_bulk_delete_messages(channel_id, message_ids) - Бұл функция арнадан бірнеше хабарламаны жою үшін қолданылады.

Параметрлер Сипаттамасы
! channel_id Discord арнасының ID-і.
! message_ids Жойылатын хабарлама ID-лерінің тізімі.

Хабарламалар

Хабарлама жіберу

discord_send_message(channel_id, text) - Бұл функция Discord арнасына хабарлама жіберу үшін қолданылады.

Параметрлер Сипаттамасы
! channel_id Discord арнасының ID-і.
! text Хабарлама мәтіні.

Хабарламаны алу

discord_get_message(channel_id, message_id) - Бұл функция хабарлама туралы ақпаратты алу үшін қолданылады.

Параметрлер Сипаттамасы
! channel_id Discord арнасының ID-і.
! message_id Хабарламаның ID-і.

Функция қайтарады:

  • Хабарлама мазмұны
  • Автор туралы ақпарат
  • Тіркемелер

Тікелей хабарлама жіберу

discord_send_dm(user_id, text) - Бұл функция сервер мүшесіне тікелей хабарлама жіберу үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Discord пайдаланушы ID-і.
! text Хабарлама мәтіні.

Рөлдер

Рөл қосу

discord_add_role(user_id, role_id) - Бұл функция мүшеге рөл тағайындау үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Discord пайдаланушы ID-і.
! role_id Discord рөлінің ID-і.

Рөлді алып тастау

discord_remove_role(user_id, role_id) - Бұл функция мүшеден рөлді алып тастау үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Discord пайдаланушы ID-і.
! role_id Discord рөлінің ID-і.

Мүшенің лақап атын өзгерту

discord_set_nickname(user_id, nickname) - Бұл функция сервердегі мүшенің лақап атын өзгерту үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Discord пайдаланушы ID-і.
! nickname Жаңа лақап ат.

Сервер рөлдерін алу

discord_get_roles() - Бұл функция сервер рөлдерінің тізімін алу үшін қолданылады.

Функция қайтарады:

  • Рөл ID-і
  • Рөл атауы

Мүшелер

Мүше туралы ақпарат алу

discord_get_member(user_id) - Бұл функция сервер мүшесі туралы ақпаратты алу үшін қолданылады.

Параметрлер Сипаттамасы
! user_id Discord пайдаланушы ID-і.

Функция қайтарады:

  • Мүше рөлдері
  • Сервердегі лақап аты
  • Қосылған күні
  • Рұқсаттар

Арналар

Арна жасау

discord_create_channel(name, type, parent_id, permission_overwrites) - Бұл функция жаңа Discord арнасын жасау үшін қолданылады.

Параметрлер Сипаттамасы
! name Арна атауы.
! type Арна түрі (мысалы, мәтіндік немесе дауыстық).
parent_id Арна жасалатын санаттың ID-і.
permission_overwrites Арнаға қандай пайдаланушылар немесе рөлдер кіре алатынын анықтайтын арна рұқсаттарының параметрлері.

Арнаны жою

discord_delete_channel(channel_id) - Бұл функция Discord арнасын жою үшін қолданылады.

Параметрлер Сипаттамасы
! channel_id Discord арнасының ID-і.

Арна рұқсаттарын орнату

discord_set_channel_permission(channel_id, target_id, allow, deny) - Бұл функция пайдаланушы немесе рөл үшін арна рұқсаттарын конфигурациялау үшін қолданылады.

Параметрлер Сипаттамасы
! channel_id Discord арнасының ID-і.
! target_id Рұқсаттары өзгертілетін пайдаланушы ID-і немесе рөл ID-і.
! allow Берілетін рұқсаттар.
! deny Берілмейтін рұқсаттар.

Шақырулар

Шақыру жасау

discord_create_invite(channel_id, max_age, max_uses) - Бұл функция шақыру сілтемесін жасау үшін қолданылады.

Параметрлер Сипаттамасы
! channel_id Discord арнасының ID.
max_age Шақырудың секундтардағы өмір сүру уақыты. Мерзімі бітпеуі үшін 0 мәнін пайдаланыңыз.
max_uses Қолданудың ең көп саны. Шектеусіз қолдану үшін 0 мәнін пайдаланыңыз.

Сервер шақыруларын алу

discord_get_invites() - Бұл функция сервердің барлық шақыру сілтемелерін алу үшін қолданылады.

Функция келесіні қайтарады:

  • Шақыру URL
  • Қолдану саны
  • Қалған өмір сүру уақыты (егер қолданылса)

Webhook оқиғалары

Келесі Discord оқиғалары чат ағынына жіберілуі мүмкін:

  • Қатысушы серверге қосылды
  • Қатысушы серверден кетті
  • Қатысушы шығарылды
  • Қатысушы бұғатталды
  • Қатысушы бұғаттан шығарылды
  • Қатысушының рөлдері өзгерді
  • Хабарлама өңделді
  • Хабарлама жойылды
  • Реакция қосылды
  • Реакция жойылды
  • Қиғаш сызық командасы орындалды
  • Түйме басылды

Webhook жүктемесі

Webhook деректері келесіде қолжетімді:

discord_webhook["data"]
Өріс Сипаттамасы
author_id Хабарлама авторының Discord пайдаланушы ID.
username Discord пайдаланушы аты.
nickname Сервердегі лақап аты.
channel_id Discord арнасының ID.
guild_id Discord серверінің ID.
message_id Discord хабарламасының ID.
content Хабарлама мәтіні.
roles Қатысушының рөл ID тізімі.
is_admin Қатысушының әкімші құқықтары бар-жоғын көрсетеді.

Кері шақырулар

Пайдаланушы реакция жібергенде, чатқа келесі форматта кері шақыру келеді:

new_like ❤️ uid413984787162726410

Мұнда uid413984787162726410 - реакцияны жіберген пайдаланушының ID.

Арнайы эмодзи ID-ін қалай алуға болады

Егер сіз Discord арнасындағы хабарламаға арнайы реакция жіберсеңіз, келесі форматта кері шақыру келеді:

new_like beer:1479419477396291696 uid413984787162726410

Мұнда beer:1479419477396291696 - реакцияның ID. Сіз оны реакцияға қатысты функцияларда пайдалану үшін көшіре аласыз.

Хабарлама ID-ін қалай алуға болады

Егер save_webhook қосылған болса, клиенттің хабарлама ID-ін webhook-тан алуға болады. Мысалы:

data = discord_webhook["data"]
msg_id = data["id"]
result = discord_reply_to_message(msg_id, "Бұл хабарламаға жауап")

Қосымша кері шақырулар

new_like-тан басқа, келесі кері шақырулар қолжетімді:

Кері шақыру Сипаттамасы
new_like {emoji} uid{user_id} Пайдаланушы хабарламаға реакция қосты.
reaction_remove {emoji} uid{user_id} Пайдаланушы хабарламадан реакцияны алып тастады.
message_delete mid{message_id} Хабарлама жойылды.
message_edit mid{message_id} Хабарлама өңделді. Жаңартылған хабарлама мәтіні webhook деректерінде қолжетімді.
member_join uid{user_id} Қатысушы серверге қосылды.
member_leave uid{user_id} Қатысушы серверден кетті.
member_update uid{user_id} Қатысушының ақпараты (мысалы, рөлдер немесе лақап аты) жаңартылды.
member_ban uid{user_id} Қатысушы серверден бұғатталды.
member_unban uid{user_id} Қатысушы серверден бұғаттан шығарылды.

Кері шақыру айнымалылары

Қолданыстағы Discord оқиға форматымен сәйкестік үшін пайдаланушы және хабарлама идентификаторлары тарихи префикстерді пайдаланады:

  • Пайдаланушы ID uid{user_id} ретінде қайтарылады.
  • Хабарлама ID mid{message_id} ретінде қайтарылады.

Келесі айнымалылар да осы префиксті идентификаторларды пайдаланады:

  • message_from
  • internal_id
  • discord_webhook["data"]