Ինչպես ստեղծել Discord Bot
Անեկդոտներ պատմեք, երաժշտություն միացրեք ձեր հոսքում, ողջունեք նոր օգտվողներին ձեր սերվերում... ի՞նչ չի կարող անել Discord բոտը: Ոչինչ, երբ դու ծրագրավորման հետևում ես:
Discord-ում մարդիկ համագործակցում են գաղափարներ փոխանակելու, նախագծեր քննարկելու և ընդհանրապես կյանքի և հոբբիների մասին զրուցելու համար: Սակայն Discord բոտերը կարող են ձեր զրուցարանները դարձնել ավելի զվարճալի, բացի առաջադրանքների ավտոմատացումից: Դրանք կարող են լինել ամեն ինչ՝ պատահական կատակներ ասելուց մինչև հատուկ երաժշտություն նվագելը և այլն:
Այնուամենայնիվ, կան մի քանի կարևոր քայլեր, որոնք դուք պետք է հետևեք՝ սովորելով, թե ինչպես ստեղծել Discord բոտ: Մենք կուսումնասիրենք դրանք այս հոդվածում:
Եկեք սկսենք.
1. Ստեղծեք Ձեր Discord սերվերը
Նախքան Discord բոտ ստեղծելը, դուք պետք է սկսեք ստեղծել սերվեր, քանի որ սա բոտի նշանակման վայրն է:
Discord սերվերը կամ զրուցասենյակը տարածք է, որտեղ դուք կառավարում եք ալիքներն ու հաղորդակցությունները հարթակում:
Discord սերվեր ստեղծելու համար անցեք Discord կայք և մուտք գործեք ձեր Discord վահանակ: Կամ ստեղծեք հաշիվ, եթե արդեն չունեք:
Ձեր Dashboard-ում հայտնվելուց հետո հետևեք այս քայլերին՝ Discord սերվեր ստեղծելու համար.
Սեղմեք ավելացման (+) պատկերակը ձախ կողագոտում:
Ընտրեք Ստեղծել իմ սեփականըտարբերակը:
- Ընտրեք ձեր սերվերի ստեղծման նպատակը:
Անհատականացրեք ձեր սերվերը պրոֆիլի նկարով և անունով: Այնուհետև սեղմեք Ստեղծել:
Դուք այժմ ստեղծել եք Discord սերվեր և պատրաստ եք բոտ ստեղծել դրա վրա որոշակի գործողություններ վերահսկելու համար:
2. Ստեղծեք և ստեղծեք ձեր Discord բոտը
Հաջորդը, դուք ցանկանում եք Discord բոտ ստեղծել Discord հավելվածի ներսում՝ գնալով Discord Developer Portal: Կամ դրա փոխարեն կարող եք մուտքագրել հետևյալ URL-ը ձեր բրաուզերի հասցեի դաշտում.
https://discord.com/developers/applications
Մի անգամ մշակողի վահանակում.
Սեղմեք Նոր հավելված վերևի ձախ մասում:
Նշեք ձեր դիմումի անունը տվյալ դաշտում: Այնուհետև սեղմեք Ստեղծել:
- Նայեք ձախ կողագոտին և ընտրեք Բոտ:
Կտտացրեք Ավելացնել բոտ ծայրահեղ աջ կողմում:
Հաջորդ հուշումից ընտրեք Այո, արեք դա
-
Սեղմեք Պատճենել՝ ձեր բոտային նշանը պատճենելու համար: Ստեղծեք տեքստային ֆայլ ձեր նախագծի արմատից և տեղադրեք այնտեղ: Դուք կարող եք անվանել ֆայլը secret.txt: Համոզվեք, որ չեք բացահայտում պատճենված նշանը:
Ոլորեք ներքև և միացրեք անջատիչը PRESENCE INTENT-ի տակ: Նաև միացրեք անջատիչը ՍԵՐՎԵՐԻ ԱՆԴԱՄՆԵՐԻ ՄԻՏԱԴՐՈՒԹՅՈՒՆ-ում:
- Հաջորդը, սեղմեք OAuth2 ձախ սանդղակի վրա՝ նույնականացման առաջնահերթություններ ավելացնելու ձեր Discord բոտին:
- Ընտրեք URL Generator , որպեսզի ստեղծեք բոտի հրավերի URL նախկինում ստեղծված սերվերի համար:
Ընտրանքներից, Շրջանակներ-ում ընտրեք bot:
Ոլորեք ներքև դեպի BOT PERMISSION բաժին և ընտրեք դերեր ձեր Discord բոտի համար: Այս դեպքում մենք նրան կտանք Ադմինիստրատորի դերը:
- Ոլորեք դեպի ներքև և սեղմեք ՊԱՏՃԱՌՆԵԼ ստեղծված URL-ը ձեր clipboard-ում պատճենելու համար:
Այժմ ձեր սերվերը բոտին կապելու համար:
Միացրեք սերվերը ձեր Discord բոտին
Ինչպես նշեցինք, բոտն աշխատում է հիմնականում սերվերի ներսում։ Հետևաբար, Discord բոտ ստեղծելուց հետո, ինչպես մենք արեցինք, դուք պետք է այն նշանակեք սերվերին, որտեղ ցանկանում եք, որ այն աշխատի:
Այսպիսով, երբ դուք պատճենեք գեներացված URL-ը, հետևեք այս հաջորդ քայլերին՝ ձեր զրույցի սենյակը Discord բոտին կապելու համար.
- Տեղադրեք պատճենված URL-ը ձեր բրաուզերի հասցեի դաշտում և մուտք գործեք այն:
Հուշումից սեղմեք Ընտրեք սերվեր և ընտրեք այն, ինչ նախկինում ստեղծել եք:
- Շարունակելու համար սեղմեք Շարունակել :
Դուք կտեսնեք նոր ընտրացանկ՝ ավելի վաղ սահմանած թույլտվությունների ցանկով: Ընտրեք Լիազորել:
- Լուծեք CAPTCHA՝ ավարտելու ձեր Discord բոտի լիազորումը:
Դուք այժմ ստեղծել եք Discord բոտ: Վերադարձեք ձեր սերվերի վահանակ և կտեսնեք ռոբոտը աջ կողագոտում: Բայց ինչպես տեսնում եք, այն ներկայումս անցանց է: Այսպիսով, այն դեռ չի աշխատում, քանի դեռ չեք ծրագրավորել դա անել:
Որպեսզի ձեր բոտը աշխատի, դուք պետք է գրեք սցենար ցանկացած ծրագրավորման լեզվով, որը լավագույնս աշխատում է ձեզ համար:
3. Ծրագրավորեք ձեր Discord բոտը Python-ի միջոցով
Այս ձեռնարկի համար մենք կօգտագործենք Python-ը և կհյուրընկալենք Discord բոտը տեղական մեքենայի վրա: Դուք կարող եք հյուրընկալել ձերը ամպային ծառայություններում, ինչպիսին է Heroku-ն, եթե ցանկանում եք, երբ ամեն ինչ կարգավորվի: Եկեք սուզվենք:
Ստեղծեք Python-ը և գրադարանները
Ձեր Discord բոտը Python-ով ծրագրավորելու համար դուք կօգտագործեք discord.py մոդուլը, որն աշխատում է միայն Python 3.5.3 կամ ավելի նոր տարբերակով:
Եթե դուք դա արդեն չեք արել կամ ունեք ավելի վաղ տարբերակ, այցելեք python.org՝ ներբեռնելու Python-ի վերջին տարբերակը:
Դուք կարող եք ստուգել ձեր համակարգչի վրա տեղադրված Python տարբերակը՝ մուտքագրելով հետևյալ հրամանը ձեր տերմինալում.
python --version
Եթե Python-ը արդիական է, բացեք տերմինալը ձեր նախագծի արմատին: Այնուհետև ակտիվացրեք Python վիրտուալ միջավայրը:
Բացի այդ, դուք պետք է տեղադրեք discord.py և ձայնային աջակցության փաթեթ, որը կոչվում է discord.py[voice]:
Վիրտուալ միջավայրում ակտիվ լինելու դեպքում ձեր տերմինալում գործարկեք հետևյալ հրամանը՝ այս փաթեթները տեղադրելու համար.
pip install -U discord.py discord.py[voice]
Ուղարկեք հաղորդագրություն ձեր Discord բոտի հետ
Այստեղ դուք կծրագրավորեք ձեր Discord բոտը, որպեսզի պատասխանի հատուկ հաղորդագրությամբ, երբ հաղորդագրություն եք ուղարկում ալիքում:
Բայց նախ մուտքագրեք հետևյալ կոդը ձեր սկրիպտի վերևում՝ ձեր Discord բոտը սկզբնավորելու համար.
import discord
<strong># Import the commands module:</strong>
from discord.ext import commands
<strong># Initialize the bot instance and use a blank prefix:</strong>
bot = commands.Bot(command_prefix="")
<strong>#Read your bot token from the txt file in your project root:</strong>
Secret = open("secret.txt", 'r')
Secret = Secret.read()
<strong>#Run the bot in an event loop:</strong>
bot.run(Secret)
bot փոփոխականը կանչում է հատուկ հրամաններ հրաման դասից: Եվ փակագծում դրված command_prefix-ը թույլ է տալիս նշել դրան նախորդող նիշը: Դոլարի նշանը ($), բացականչությունը (!), նշանը (&) և այլն, սովորական նախածանցներ են, որոնք նախորդում են բոտի հրամաններին:
Բայց մենք դատարկեցինք նախածանցը մեր դեպքում: Այսպիսով, Discord բոտին հրահանգելու ժամանակ դուք դրա կարիքը չունեք:
Օգտագործելով @bot.command() դեկորատորը, եկեք պատրաստենք հատուկ հրաման՝ Բարև և տրամադրենք պատասխան տեքստ Discord բոտի համար, երբ այն տեսնի:
Նկատի ունեցեք, որ հատուկ հրամանները Python-ի գործառույթներ են.
import discord
<strong># Import the commands module:</strong>
from discord.ext import commands
<strong># Initialize the bot instance:</strong>
bot = commands.Bot(command_prefix="")
@bot.command()
async def Hi(ctx):
await ctx.send("Hi, welcome to our server")
Secret = open("secret.txt", 'r')
Secret = Secret.read()
bot.run(Secret)
Այժմ գործարկեք Python սկրիպտը ձեր տերմինալում: Այնուհետև գնացեք Discord և ուղարկեք «Hi»՝ տեսնելու, թե ինչպես է բացվում կախարդանքը:
Ուշադիր նայելով՝ կտեսնեք, որ մենք օգտագործել ենք async սպասում մեթոդը՝ գործառույթը սպասարկելու համար: Սա կարևոր է, քանի որ մոդուլի համար դա Discord-ի հետ հաղորդակցվելու միակ միջոցն է:
ctxօրինակը համատեքստ է և ունի բազմաթիվ գործառույթներ: Բայց այս դեպքում այն թույլ է տալիս ձեր Discord բոտին հաղորդագրություն ուղարկել:
Բարի գալուստ ալիքի նոր անդամներին ձեր բոտով
Այս օրինակում դուք կտեսնեք, թե ինչպես կարելի է օգտագործել իրադարձությունները ողջույններ հրահրելու համար, երբ ինչ-որ մեկը միանում է ձեր սերվերին: Դուք նաև կսովորեք, թե ինչպես ցուցադրել նոր անդամի օգտանունը և սերվերը, որին նրանք միացել են ողջույնի հաղորդագրության մեջ:
Փոխարենը այստեղ մենք կօգտագործենք @bot.event: Ահա թե ինչպես է դա աշխատում.
@bot.event
async def on_member_join(member):
guild = member.guild
if guild.system_channel is not None:
detailMessage = 'We welcome {0.mention} to the {1.name}!'.format(member, guild)
await guild.system_channel.send(detailMessage)
on_member_join ֆունկցիան միջոցառման տեսակ է: Այնուամենայնիվ, կան շատ ուրիշներ: on_ready մեթոդը, օրինակ, լայնորեն կիրառվող իրադարձություն է՝ ստուգելու՝ արդյոք բոտը պատրաստ է, թե ոչ:
Ավելին, պայմանը, որը հետևում է if հայտարարությանը, ստուգում է, արդյոք կապակցված սերվերը (գիլդիա կամ զրուցասենյակ) գոյություն ունի, թե ոչ: Եթե դա այդպես է, ապա այն օգտագործում է Python տողային ձևաչափը մեթոդը՝ նոր անդամի օգտանունը և սերվերը, որին միացել են:
Այժմ խնդրեք ընկերոջը միանալ ձեր սերվերին՝ տեսնելու, թե ինչ է տեղի ունենում: Այնուամենայնիվ, դուք կարող եք նախ փորձել սա կեղծ Discord հաշվի միջոցով, որպեսզի համոզվեք, որ այն աշխատում է:
Խնդրեք Discord Bot-ին միանալ կամ հեռանալ աուդիո ալիքից
Հիմա եկեք ընդլայնենք կոդը: Եվ այս անգամ, դուք ձեր բոտին կասեք միանալ կամ հեռանալ աուդիո ալիքից, երբ այն ստանա որոշակի հրաման:
Ստորև բերված օրինակի կոդում Discord բոտը միանում է ձեզ աուդիո ալիքում, երբ մուտքագրում եք «enter»:
@bot.command()
async def enter(ctx):
if ctx.author.voice:
await ctx.message.author.voice.channel.connect()
եթե հայտարարության մեջ առկա պայմանը ստուգում է, թե արդյոք դուք արդեն միացել եք աուդիո ալիքին: Եթե այո, ապա սպասել հիմնաբառը կապում է ձեր Discord բոտը դրա հետ:
Դա նշանակում է, որ դուք պետք է միանաք աուդիո ալիքին, նախքան հրամանը կաշխատի:
Նշում. Համոզվեք, որ յուրաքանչյուր թարմացումից հետո դադարեցնում և վերագործարկում եք ձեր Python սկրիպտը: Այն թույլ է տալիս Python-ին համաժամեցնել ձեր փոփոխությունները:
Երբ նորից գործարկեք ձեր Python սկրիպտը, բացեք Discord-ը և մուտքագրեք enter. այժմ կտեսնեք, որ ձեր Discord բոտը միացել է աուդիո ալիքին:
Ձեր բոտին խնդրելը լքել ալիքը նույնքան հեշտ է, որքան այն ավելացնելը:
Հետևյալ կոդը հուշում է նրան հեռանալ ալիքից, երբ մուտքագրեք համապատասխան հրամանը: Այս դեպքում մենք կօգտագործենք «հեռանալ» բառը.
@bot.command()
async def leave(ctx):
if ctx.voice_client:
await ctx.guild.voice_client.disconnect()
Դադարեցրեք և նորից գործարկեք ձեր սցենարը: Discord բոտն այժմ պետք է հեռանա աուդիո ալիքից, երբ ուղարկեք «թողնել» հրամանը:
Շարունակեք բարելավել ձեր Discord Bot-ը
Վե՛րջ: Դուք ինքներդ դարձաք ֆունկցիոնալ Discord բոտ: Միացրեք կոդի օրինակային բլոկները և շարունակեք ավելացնել գործառույթներ ձեր Discord բոտին: Օրինակ, դուք կարող եք նրան ասել, որ երաժշտություն նվագարկի ձեր համակարգչից կամ հոսքային հարթակից, հենց որ այն միանա աուդիո ալիքին:
Discord բոտերը հաճելի է օգտագործել: Եթե դուք դեռ չեք ավտոմատացնում նրանց հետ առաջադրանքները ձեր զրուցարաններում, դուք կորցնում եք որոշ լուրջ արդյունավետություն: