هر کاستوم کامندی که تا حالا توی عمرتون بذارید کنار؛ این کاستوم کامند MOD فوق العاده کاربردی و فوق فوق خفنه! با یه ری اکشن می تونید طرف مقابلو بن کنید.
مطلب کاستوم کامند بات YAGPDB رو که گذاشتیم خیلیاتون درخواست کردید که این کاستوم کامند رو براتون بذاریم. حالا من اینجام و اینم کاستوم کامند.
توضیحات کاستوم کامند Mod
این کاستوم کامند یه چیز عجیبه. دنیا مثشو ندیده! برا همین شما برای یک کاستوم کامند باید توی پنل کاربری YAGPDB دوتا کاستوم کامند بسازید.
کدی که می نویسیم یکیش برای کامند -mod
هست و یکی هم برای کار کردن با ری اکشن ها هست.
کد کاستوم کامند:
Trigger Type: Command
Trigger: mod
Response:
{{$prefix := index (reFindAllSubmatches `Prefix of \x60\d+\x60: \x60(.+)\x60` (exec "prefix")) 0 1}}
{{$args := parseArgs 1 (print $prefix "mod یک یوزر رو منشن کنید یا آیدی کاربر رو بنویسید.") (carg "userid" "User")}}
{{if reFind `\d+` .StrippedMsg}}
{{$user := userArg ($args.Get 0)}}
{{$userid := $args.Get 0}}
{{$users := "Unknown User"}}
{{$usera := "https://cdn.discordapp.com/emojis/565142262401728512.png"}}
{{if (userArg (index .CmdArgs 0))}}
{{$userid = $user.ID}}
{{$users = $user.String}}
{{$usera = $user.AvatarURL "1024"}}
{{end}}
{{$x := sendMessageRetID nil (cembed
"author" (sdict
"name" (print $users " - Mod Panel")
"icon_url" $usera)
"description" "<a:bongoban:636572687124398081> - Ban, ? - Kick, <:servermute:711553322225500201> - Mute, ? - Unmute, ❌ - Close Menu")}}
{{/*Permission Check*/}}
{{$var1 := index (index (reFindAllSubmatches `.* \x60\d+\x60 (.*)` (exec "viewperms")) 0) 1}}
{{/*Ban*/}}
{{if (reFind `BanMembers` $var1)}}
{{addMessageReactions nil $x "a:bongoban:636572687124398081"}}
{{end}}
{{/*Kick*/}}
{{if (reFind `KickMembers` $var1)}}
{{if $user}}
{{addMessageReactions nil $x "?"}}
{{end}}
{{end}}
{{/*Mute*/}}
{{if (reFind `ManageRoles` $var1)}}
{{if $user}}
{{addMessageReactions nil $x "servermute:711553322225500201" "?"}}
{{end}}
{{end}}
{{addMessageReactions nil $x "❌"}}
{{$v1 := dbSetExpire .User.ID (print .CCID "-" (randInt 10000) "del_message") (print "del" $x "-" .Message.ID) 300}}
{{$v2 := dbSetExpire .User.ID "mod_rq_message" (print "mod" $x "-" $userid) 300}}
{{deleteMessage nil $x 300}}
{{deleteTrigger 300}}
{{else}}This ID is invalid and doesn't exist!{{end}}
این کاستوم کامند اول بود که وقتی ساختید کاستوم کامند زیر رو هم می سازید.
Trigger Type: Reaction
Trigger: Added reactions only
Response:
{{$grab := ""}}
{{$call := dbGetPattern .User.ID "%message" 100 0}}
{{range $call}}
{{if eq .UserID .User.ID}}
{{$grab = print $grab " " .Value}}
{{end}}
{{end}}
{{/*Delete Embed*/}}
{{$t11 := `del(?:(?P<MessageIDEmbed>\d{18})-(?P<MessageIDAuthor>\d{18}))`}}
{{range $call}}
{{if and (eq $.Reaction.Emoji.Name "❌") (reFind $t11 .Value)}}
{{$m := reFindAllSubmatches $t11 .Value}}
{{if (reFind (str $.Reaction.MessageID) (str .Value))}}
{{deleteMessage $.Reaction.ChannelID (index (index $m 0) 1) 0}}
{{deleteMessage $.Reaction.ChannelID (index (index $m 0) 2) 0}}
{{dbDelByID .UserID .ID}}
{{end}}
{{end}}
{{end}}
{{$e1 := `mod(?:(?P<MessageID>\d{18})-(?P<ModUserID>\d{18}))`}}
{{if and $call (reFind $e1 $grab)}} {{$matches := reFindAllSubmatches $e1 $grab}} {{$user := userArg (index (index $matches 0) 2)}}
{{$users := "Unknown User"}}
{{$usera := "https://cdn.discordapp.com/emojis/565142262401728512.png"}}
{{$userid := toInt (index (index $matches 0) 2)}}
{{if $user}}
{{$users = $user.String}}
{{$usera = $user.AvatarURL "1024"}}
{{end}}
{{/*Ban User*/}}
{{if eq .Reaction.Emoji.Name "bongoban"}}
{{range $call}}
{{$grab = (print $grab " " .Value)}}
{{end}}
{{if (reFind `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{$matches := (reFindAllSubmatches `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{if eq (str .Reaction.MessageID) (str (index (index $matches 0) 1))}}
{{editMessage nil .Reaction.MessageID (cembed
"author" (sdict
"name" (print $users " - Mod Panel")
"icon_url" $usera)
"description" "Option to ban <a:bongoban:636572687124398081> this user: ? - 1 Day ? - 1 Week ? - 2 Months ? - 4 Months ? - Permanent"
"color" 0x77FF68)}}
{{deleteAllMessageReactions nil .Reaction.MessageID}}
{{addMessageReactions nil .Reaction.MessageID "?" "?" "?" "?" "?" "❌"}}
{{dbSetExpire .User.ID "modmenu" "ban" 300}}
{{end}}
{{end}}
{{end}}
{{/*Kick User*/}}
{{if eq .Reaction.Emoji.Name "?"}}
{{range $call}}
{{if eq .UserID $.User.ID}}
{{$grab = (print $grab " " .Value)}}
{{end}}
{{end}}
{{if (reFind `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{$matches := (reFindAllSubmatches `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{if eq (str .Reaction.MessageID) (str (index (index $matches 0) 1))}}
{{deleteAllMessageReactions nil (str .Reaction.MessageID)}}
{{addMessageReactions nil (str .Reaction.MessageID) "❌"}}
{{editMessage nil (str .Reaction.MessageID) (cembed
"author" (sdict
"name" (print $users " - Mod Panel")
"icon_url" $usera)
"description" (exec "kick" $userid "Kicked by Mod Panel")
"color" 0x77FF68)}}
{{end}}
{{end}}
{{end}}
{{/*Mute User*/}}
{{if eq .Reaction.Emoji.ID 711553322225500201}}
{{range $call}}
{{$grab = (print $grab " " .Value)}}
{{end}}
{{if (reFind `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{$matches := (reFindAllSubmatches `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{if eq (str .Reaction.MessageID) (str (index (index $matches 0) 1))}}
{{editMessage nil (str .Reaction.MessageID) (cembed
"author" (sdict
"name" (print $users " - Mod Panel")
"icon_url" $usera)
"description" "Option to mute <:servermute:711553322225500201> this user: ? - 5 Minutes ? - 10 Minutes ? - 20 Minutes ? - 1 Hour"
"color" 0x77FF68)}}
{{deleteAllMessageReactions nil (str .Reaction.MessageID)}}
{{addMessageReactions nil (str .Reaction.MessageID) "?" "?" "?" "?" "❌"}}
{{dbSetExpire .User.ID "modmenu" "mute" 300}}
{{end}}
{{end}}
{{end}}
{{/*Unmute User*/}}
{{if eq .Reaction.Emoji.Name "?"}}
{{range $call}}
{{if eq .UserID .User.ID}}
{{$grab = (print $grab " " .Value)}}
{{end}}
{{end}}
{{if (reFind `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{$matches := (reFindAllSubmatches `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{if eq (str .Reaction.MessageID) (str (index (index $matches 0) 1))}}
{{deleteAllMessageReactions nil (str .Reaction.MessageID)}}
{{addMessageReactions nil (str .Reaction.MessageID) "❌"}}
{{editMessage nil (str .Reaction.MessageID) (cembed
"author" (sdict
"name" (print $users " - Mod Panel")
"icon_url" $usera)
"description" (exec "unmute" $userid "Unmuted by Mod Panel")
"color" 0x77FF68)}}
{{end}}
{{end}}
{{end}}
{{/*Checking for time emojis*/}}
{{$result := 0}}{{$mute := "0"}}{{$ban := "0"}}
{{if eq .Reaction.Emoji.Name "?"}}
{{$result = 1}}{{$mute = "5m"}}{{$ban = "-d 1d"}}
{{end}}
{{if eq .Reaction.Emoji.Name "?"}}
{{$result = 1}}{{$mute = "10m"}}{{$ban = "-d 1w"}}
{{end}}
{{if eq .Reaction.Emoji.Name "?"}}
{{$result = 1}}{{$mute = "20m"}}{{$ban = "-d 2mo"}}
{{end}}
{{if eq .Reaction.Emoji.Name "?"}}
{{$result = 1}}{{$mute = "1h"}}{{$ban = "-d 4mo"}}
{{end}}
{{if eq .Reaction.Emoji.Name "?"}}
{{$result = 1}}{{$ban = "-d p"}}
{{end}}
{{if eq $result 1}}
{{range $call}}
{{if eq .UserID .User.ID}}
{{$grab = (print $grab " " .Value)}}
{{end}}
{{end}}
{{if (reFind `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{$matches := (reFindAllSubmatches `mod(?:(?P<MessageID>\d+)-(?P<ModUserID>\d+))` $grab)}}
{{$author := (sdict "name" (print $users " - Mod Panel") "icon_url" $usera)}}
{{if eq (str .Reaction.MessageID) (str (index (index $matches 0) 1))}}
{{if eq (str (dbGet .User.ID "modmenu").Value) "mute"}}
{{deleteAllMessageReactions nil (str .Reaction.MessageID)}}
{{addMessageReactions nil (str .Reaction.MessageID) "❌"}}
{{editMessage nil (str .Reaction.MessageID) (cembed
"author" $author
"description" (exec "mute" $userid $mute "Muted by Mod Panel")
"color" 0x77FF68)}}
{{end}}
{{if eq (str (dbGet .User.ID "modmenu").Value) "ban"}}
{{deleteAllMessageReactions nil (str .Reaction.MessageID)}}
{{addMessageReactions nil (str .Reaction.MessageID) "❌"}}
{{editMessage nil (str .Reaction.MessageID) (cembed
"author" $author
"description" (exec "ban" $userid $ban "Banned by Mod Panel")
"color" 0x77FF68)}}
{{end}}
{{end}}
{{end}}
{{end}}
{{end}}
حواستون به یه مورد باشه! با این کاستوم کامندی که ساختید 2 موضوع خیلی مهم هست. یک اینکه هرکسی که به کامند دسترسی داشته باشه می تونه یک ممبر از سرور شما رو بن کنه. مورد بعدی هم دقیقا همینه! شما با این کاستوم کامند می تونید به کسی که نمیخواید پرمیشن بن بدید، قابلیت بن رو بدید.
منبع کد: TheHDCraft
اگه به دردتون خورد، می تونید با خرید اشتراک VIP از ما حمایت کنید. 5 ستاره یادتون نره!