جذاب ترین چیزی که می تونه توی یه سرور دیسکورد باشه کانالیه که هرچقدر عدد می شمری به تهش نمیرسی! حتما شما توی سرور سای تک تا حالا اینو دیدید…
رقابت جذابیه سر اینکه کی اعداد مهمی مثل مضارب عدد 10 مثل 100 یا 1000 رو یکبار برای همیشه توی سرورتون ثبت می کنه.
کانال شمارش اعداد
چطوری این کانال رو باید بسازیم؟ ساخت کانالش که مثل همه کانال های دیگه ی سرور شماست. کانال رو بسازید تا بریم سراغ کاستوم کامند Yagpdb. آماده اید؟ بزن بریم.
توی این مطلب بهتون 4 تا کاستوم کامند رو یاد میدم و فقط یکی از این کاستوم کامند ها رو برای همه پابلیک میذارم و 3 تای دیگه که مکمل این یکی کاستوم کامند هست برای اعضای VIP قابل دیدنه.
کاستوم کامند شمارش اعداد:
- این کاستوم کامند تنظیمات زیادی داره و خیلی باید حواستون باشه به ریزه کاری هاش…
Trigger Type: Rejex
Trigger: |
Response:
{{$lastUser := dbGet 118 "counter_user"}}
{{if $lastUser}}
{{else}}
{{dbSet 118 "counter_user" 0}}
{{dbSet 118 "counter_count" "0"}}
{{end}}
{{if eq (toFloat $lastUser.Value) (toFloat .User.ID)}}
{{deleteTrigger 0}}
{{ $msg := joinStr "" "شما نمیتونید دوتا عدد پشت سر بفرستید. منتظر بمونید تا یه نفر دیگه عدد بعدی رو بفرسته! " .User.Mention }}
{{sendDM $msg}}
{{else}}
{{$next := dbGet 118 "counter_count"}}
{{if eq (toInt .StrippedMsg) (toInt ($next.Value))}}
{{dbSet 118 "counter_count" (add (toInt ($next.Value)) 1)}}
{{$name := (add (toInt ($next.Value)) 1)}}
{{$key := joinStr "" "counter_tracker_" .User.ID}}
{{$userCount := dbGet 118 $key}}
{{if $userCount}}
{{dbSet 118 $key (add (toInt ($userCount.Value)) 1)}}
{{else}}
{{dbSet 118 $key 1}}
{{end}}
{{giveRoleID .User.ID 674194953458548746}}
{{$tmpUser := (userArg (toInt $lastUser.Value))}}
{{if $tmpUser}}
{{takeRoleID ($tmpUser.ID) 674194953458548746}}
{{end}}
{{dbSet 118 "counter_user" (toString .User.ID)}}
{{else}}
{{deleteTrigger 0}}
{{end}}
{{end}}
- توضیحات کامل کد بالا:
از بالا میایم پایین تا کد رو بررسی کنیم… تا قبل از قسمت $msg چیز خاصی نداره اما همین متغیر $msg
پیامی هست که توی dm برای کاربری که میخواد دو عدد رو پشت سر هم بشماره فرستاده میشه.
بعد از اون میرسیم به giveRoleID
که به کسی که آخرین عدد رو شمرده رولی که آیدیش رو اونجا میذارید داده میشه. اگه بخواید می تونید این بخش رو پاک کنید. takeRoleID هم که رول رو از یک نفر مونده به آخر می گیره. یعنی وقتی نفر آخر رول می گیره، رول نفر قبل ازش گرفته میشه.
- دیدن عدد بعدی شمارش:
خیلی وقتا ممکنه که یک نفر عددی رو بفرسته و پاکش کنه! اینجا شما نمی تونید ببینید عدد بعدی چی هست پس این کامند به دردتون می خوره.
Trigger Type: command
Trigger: nextcount
Response:
{{$next := dbGet 118 "counter_count"}}
{{($next.Value)}}
با این کامندی که داریم اگه اجراش کنید عدد بعدی که باید فرستاده بشه رو براتون نشون میده.
- تنظیم کردن عدد بعدی:
اگه بخوایم عددی که قراره به عنوان عدد بعد شمرده بشه رو خودمون تنظیم کنیم باید چیکار کنیم؟ خب اینجا یه کاستوم کامند به کمک ما میاد.
Trigger Type: command
Trigger: setcount
Response:
{{if .CmdArgs}}
{{if toInt (index .CmdArgs 0)}}
{{dbSet 118 "counter_count" (index .CmdArgs 0)}}fixed :)
{{end}}
{{else}}
عددی که میخوای رو بذار دیگه :))
{{end}}
حالا با این کامند میتونید یه عدد خاص رو برای شمارش تنظیم کنید. یعنی بزنید: -setcount 200000
و عدد بعدی که باید توی کانال زده بشه تبدیل میشه به 200000 و بعدی 200001.
- میخوای بدونی تا حالا چقدر عدد شمردی؟
Trigger Type: command
Trigger: count
Response:
{{/* 0 for per user, 1 for global */}}
{{$isGlobal := 0}}
{{$name := "get_help_cd"}}
{{$lengthSec := 600}}
{{$id := 0}}
{{$key := joinStr "" "cooldown_" $name}}
{{if eq $isGlobal 0}}
{{$id = .User.ID}}
{{end}}
{{if dbGet (toInt64 $id) $key}}
{{ $warn := (joinStr " " "شما در 10 دقیقه پیش یک درخواست داشتید!" .User.Mention "") }}
{{ $cdmsg := sendMessageNoEscapeRetID nil $warn }}
{{ deleteMessage nil $cdmsg 10 }}
{{else}}
{{dbSetExpire (toInt64 $id) $key "cooldown" $lengthSec}}
{{$key := joinStr "" "counter_tracker_" .User.ID}}
{{$count:= dbGet 118 $key}}
{{if $count}}
> Pashmam. ta Alan `{{$count.Value}}` bar toye <#674194379824562176> adad shemordi!!!
{{else}}
You have not counted yet, go count in <#674194379824562176> to start.
{{end}}
{{end}}
حالا اینجا وقتی که کامند -count
رو می زنید بهتون میگه که چند بار عدد شمردید. مثلا من تا حالا بیشتر از 3000 بار عدد شمردم. برگ ریزونه 🙂
کاستوم کامندهای خیلی خفنی بهتون یاد دادم اگه سوالی داشتید توی کامنت ها بپرسید.
یک پاسخ
چیکار کنیم که این فقط در چنلی که می خواهیم باشه چون یه چنل دیگه می خوام از عدد استفاده کنم نمی گذاره