-
Notifications
You must be signed in to change notification settings - Fork 19
/
en.hjson
997 lines (806 loc) Β· 53 KB
/
en.hjson
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
{
/* ---------------------------------------------------------------------
Emoji Key - Guide to what they mean
--------------------------------------------------------------------- */
/*
βΉοΈ - Indicates an example of how this string could look with real values
β οΈ - Indicates IMPORTANT TRANSLATIONS. These should be correctly translated first!
*/
/* ---------------------------------------------------------------------
Generic - Used for multiple things
--------------------------------------------------------------------- */
"generic.callbacks": {
"userBannedBy": "<a href=\"tg://user?id=%s\">This user</a><b> was banned by </b>%s"
# βΉοΈ NOTE: Signatures are used for intelligent text switching. MUST be a uniquely identifiable portion of the full text,
# and NOT contain any formatting or assume the value of any dynamic values.
"userBannedBySignature": " was banned by "
"userBannedAnswerText": "User Banned"
# βΉοΈ NOTE: Signatures are used for intelligent text switching. MUST be a uniquely identifiable portion of the full text,
# and NOT contain any formatting or assume the value of any dynamic values.
"userUnbannedBy": "<a href=\"tg://user?id=%s\">This user</a><b> was unbanned by </b>%s"
"userUnbannedBySignature": " was unbanned by "
"userUnbannedAnswerText": "User Unbanned"
# βΉοΈ Example: /JoinVerify enabled by Andy
"featureEnabledBy": "%s<b> enabled by </b>%s"
"featureEnabledAnswerText": "%s enabled"
"featureAlreadyEnabled": "%s<b> is already enabled</b>"
"featureAlreadyEnabledAnswerText": "%s Already enabled"
"featureDisabledBy": "%s<b> disabled by </b>%s"
"featureDisabledAnswerText": "%s disabled"
"featureAlreadyDisabled": "%s<b> is already disabled</b>"
"featureAlreadyDisabledAnswerText": "%s Already disabled"
"joinLimitRestrictionsReset": "<a href=\"tg://user?id=%s\">This user</a><b> had their </b><code>/JoinLimit</code><b> restrictions reset by </b>%s"
"joinLimitRestrictionsResetAnswerText": "Restrictions Reset!"
"joinLockExceptionAdded": "<a href=\"tg://user?id=%s\">This user</a><b> has been granted a one-time join exception by </b>%s\n\n<b>The next time the user joins, I will not remove them.</b>"
"joinLockExceptionAddedAnswerText": "Exception Added"
"chatNameRemoved": "<b>Chat Name Removed by </b>%s"
"chatNameRemovedAnswerText": "Chat Name Removed"
"chatNameNotSet": "<b>Chat Name was not set, so nothing to remove.</b>"
"chatNameNotSetAnswerText": "Chat Name Not Set"
"cantUseFeatureOnAdminsAnswerText": "Can't %s admins"
"CalsiBotNoLongerAdmin": "<b>CalsiBot is no longer an admin or doesn't have enough permissions, so this keyboard has expired.</b>"
"CalsiBotNoLongerAdminAnswerText": "CalsiBot is no longer an admin or doesn't have enough permissions, so this keyboard has expired."
"keyboardHasExpired": "<b>This keyboard has expired.</b>"
"keyboardExpiredAnswerText": "Keyboard Expired"
"keyboardUpdatedPressConfirmAnswerText": "Keyboard Updated, press 'Confirm' to apply"
}
"generic.buttons": {
"whatIsThis": "β What Is This?"
"whatIsThisShort": "β What?"
"imSorry": "π I'm Sorry!"
"joinChannel": "π Join Channel"
"addToGroup": "π± Add To Group"
"tapToVerify": "π€ Tap to Verify π€"
"banUser": "Ban User"
"banBot": "Ban Bot"
"allowUser": "Allow User"
"trustUser": "Trust User"
"trustBot": "Trust Bot"
"unbanUser": "Unban User"
"settings": "βοΈ Settings"
"resetRestrictions": "π€ Reset Restrictions"
"yes": "β
Yes"
"no": "β No"
"enable": "β
Enable"
"disable": "β Disable"
"disableLimit": "β Disable Limit"
"disableTimeLimit": "β Disable Time Limit"
"permabanUser": "β Permaban User"
"unPermabanUser": "π€ Un-Permaban User"
"remove": "β Remove"
"removeAllWarns": "β Remove All Warns"
"history": "π History"
"setMax": "π’ Set Max"
"back": "β¬
οΈ Back"
"messages": "Messages"
"media": "Media"
"stickersAndGIFs": "Stickers & GIFs"
"linkPreviews": "Link Previews"
"confirm": "π Confirm"
"cancel": "β Cancel"
"seeExample": "π See Example"
"seeGroupInfo": "See Group Info"
"marryAccept": "π₯° Accept"
"marryReject": "π Reject"
"continueFishing": "π£ Continue Fishing"
"continueBuilding": "β Continue Building"
"chooseAction": "π Choose Action"
"ignore": "π Ignore"
"changeLanguage": "π Change Language"
"createPack": "πΈ Create Pack"
"removePack": "π Remove Pack"
"viewPack": "π View Pack"
}
# βΉοΈ Note: For languages which don't use English numbers, these should be changed
# to match the 'numbersPlain' localized numbers.
"generic.numbers": {
"zero": "0οΈβ£"
"one": "1οΈβ£"
"two": "2οΈβ£"
"three": "3οΈβ£"
"four": "4οΈβ£"
"five": "5οΈβ£"
"six": "6οΈβ£"
"seven": "7οΈβ£"
"eight": "8οΈβ£"
"nine": "9οΈβ£"
"ten": "π"
}
# βΉοΈ Note: These should be plain text localized numbers.
"generic.numbersPlain": {
"zero": "0"
"one": "1"
"two": "2"
"three": "3"
"four": "4"
"five": "5"
"six": "6"
"seven": "7"
"eight": "8"
"nine": "9"
"ten": "10"
}
"generic.timePlural": {
"zero": "times"
"one": "time"
"other": "times"
}
"generic.yearPlural": {
"zero": "years"
"one": "year"
"other": "years"
}
"generic.monthPlural": {
"zero": "months"
"one": "month"
"other": "months"
}
"generic.weekPlural": {
"zero": "weeks"
"one": "week"
"other": "weeks"
}
"generic.dayPlural": {
"zero": "days"
"one": "day"
"other": "days"
}
"generic.hourPlural": {
"zero": "hours"
"one": "hour"
"other": "hours"
}
"generic.minutePlural": {
"zero": "minutes"
"one": "minute"
"other": "minutes"
}
"generic.secondPlural": {
"zero": "seconds"
"one": "second"
"other": "seconds"
}
"generic.onlyInSupergroups": "<b>Sorry, this command can only be used in Supergroups</b>"
"generic.somethingWentWrongTryAgainLater": "<b>Something went wrong, please try again later...</b>"
"generic.rateLimit": "π‘ <b>Now ignoring new messages from </b>%s<b> for sending more than 3 command messages in less than 1 second. Please stop.</b>\n\n<i>Expires in a few minutes</i>"
"generic.willNotSeeAgainForAWhile": "<i>You will not see this message again for a while.</i>"
# βΉοΈ Example: Reply to the person you want to /slap
"generic.replyToThePersonYouWantTo": "<b>Reply to the person you want to</b> %s"
"generic.needToReply": "<b>You need to reply to someone.</b>"
"generic.needToBeAdmin": "<b>β Not allowed. You need to:</b>\n\n1οΈβ£ Be an admin\n2οΈβ£ Have permission to %s"
"generic.needToBeAdminAnswerText": "β Not allowed. You need to:\n\n1οΈβ£ Be an admin\n2οΈβ£ Have permission to %s"
"generic.CalsiBotNeedsToBeAdmin": "<b>β For this to work, %s has to:</b>\n\n1οΈβ£ Be an admin\n2οΈβ£ Have permission to %s"
"generic.CalsiBotNotUsedAnymore": "<b>Sorry, CalsiBot is either not used in the group anymore, or does not have enough permissions.</b>"
"generic.CalsiBotNotUsedAnymoreAnswerText": "Sorry, CalsiBot is either not used in the group anymore, or does not have enough permissions."
"generic.permissionTypes": {
"changeGroupInfo": "change group info"
"banUsers": "ban users"
"deleteMessages": "delete messages"
"inviteUsers": "invite users"
"pinMessages": "pin messages"
"doEverything": "do everything, including adding new admins"
}
"generic.loaded": "Loaded"
"generic.loadingEllipsis": "Loading..."
"generic.disabled": "Disabled"
"generic.enabled": "Enabled"
"generic.cancelled": "Cancelled"
"generic.currently": "Currently"
"generic.gaming": "Gaming"
"generic.nobody": "Nobody"
"generic.none": "None"
"generic.note": "Note"
"generic.reasonColon": "Reason:"
"generic.deleteQuestion": "Delete?"
"generic.banQuestion": "Ban?"
"generic.and": " and "
# βΉοΈ Example: Exception was added by an admin.
"generic.anAdmin": "an admin"
# βΉοΈ Example: Fishing is always allowed in private :)
"generic.featureAlwaysAllowedInPrivate": "%s is always allowed in private :)"
# βΉοΈ Example: Wall Building has now been enabled in this group.
"generic.featureEnabled": "<b>%s has now been enabled in this group.</b>"
"generic.featureAlreadyEnabled": "<b>%s is already enabled in this group.</b>"
"generic.featureDisabled": "<b>%s is now disabled in this group.</b>"
"generic.featureAlreadyDisabled": "<b>%s is already disabled in this group.</b>"
"generic.featureDisabledByDefault": "<b>By default, %s is disabled in group chats.</b>\n\nAn admin can %s."
# βΉοΈ Example: By default, fishing is disabled in group chats.\n\nAn admin can /EnableGames, or you can fish in private, by tapping the button below:
"generic.featureDisabledByDefaultWithPrivate": "<b>By default, %s is disabled in group chats.</b>\n\nAn admin can %s, or you can %s in private, by tapping the button below:"
# βΉοΈ Example: You can use /DisableBrick to change that.
"generic.toggleFeatureHint": "<b>You can use </b>%s<b> to change that.</b>"
# βΉοΈ Example: You can't Warn admins
"generic.cantUseFeatureOnAdmins": "<b>You can't </b><code>%s</code><b> admins... Unfortunately.</b>"
"generic.cantUseFeatureOnAdminsWithReason": "<b>You can't </b><code>%s</code><b> admins because %s</b>"
# βΉοΈ Example: because they can't be warned in the first place.
"generic.theyCantBeInTheFirstPlace": "because they can't be %s in the first place."
"generic.cantUseFeatureOnLinkedChannels": "<b>You can't do this, because you're replying to a channel which is linked to this group.</b>"
"generic.cantUseFeatureOnChatSenders": "<b>You can't do this because the user is posting as a channel.\n\nRemember:</b> you <i>can</i> still /ban and /unban."
"generic.chatSenderCanNoLongerPostAsAnyChatHint": "\n\n<b>Note:</b> this user can no longer post as any of the channels they own, <b>but</b> they can still post from their personal account."
"generic.chatSenderCanNowPostAsAnyChatHint": "\n\n<b>Note:</b> this user can now post as <b>any</b> of the channels they own, including this one."
"generic.tapNextToContinue": "\n\n<b>Tap </b>/next<b> to Continue...</b>"
"generic.tapNextToRetry": "\n\n<b>Tap </b>/next<b> to Retry...</b>"
"generic.tapCancelToQuit": "\n\n<b>Tap </b>/cancel<b> to Quit %s</b>"
/* ---------------------------------------------------------------------
Comfy - Used for /hug, /cuddle, etc.
--------------------------------------------------------------------- */
"comfy.hug": {
"self": "%s<b> reaches one arm around and hugs their own body. </b>%s<b> feels slightly less alone now.</b>"
"main": "%s just gave you a <b>hug! :)</b>"
"CalsiBot": "<i>I can't be hugged </i><b>:/</b>"
}
"comfy.cuddle": {
"self": "%s<b> lays face-down on their bed, and tries to cuddle both sides. </b>%s<b> feels slightly less sad now.</b>"
"main": "%s cuddles %s tightly"
"CalsiBot": "<i>sighhh</i> βοΈπβοΈ"
}
"comfy.snuggle": {
"self": "%s<b> draws up their knees and tries to snuggle themselves. </b>%s<b> feels slightly less unloved now.</b>"
"main": "%s contentedly snuggles %s"
"CalsiBot": "π₯Ί <i>*relaxed bot noises*</i>"
}
"comfy.poke": {
"self": "%s<b> pokes their chest. It makes them remember that they should probably lose some weight.</b>"
"main": "<b>*</b>%s pokes %s<b>* o_o</b>"
"CalsiBot": "<b>>_<</b>"
}
"comfy.pat": {
"self": "%s<b> awkwardly reaches one hand around to pat themselves on the head. π</b>"
"main": "<b>*</b>%s pats %s on the head<b>* :V</b>"
"CalsiBot": "<i>rawr</i> <b>xDddd</b>"
}
"comfy.ruffle": {
"self": "%s<b> ruffles their own hair... Yikes. π</b>"
"main": "<b>*</b>%s ruffles %s's hair<b>* :&</b>"
"CalsiBot": "<i>You're meant to ruffle the hair on my head...not...there.</i> π³"
}
"comfy.highfive": {
"self": "%s<b> tries to highfive themselves by smacking their own two hands together. </b>%s<b> misses, and sinks deeper into depression.</b>"
"main": "%s just <b>high-fived</b> you for this!"
"CalsiBot": "<i>:D</i>"
}
/* ---------------------------------------------------------------------
Death - Used for /kys, /kms & /kos
--------------------------------------------------------------------- */
"death.CalsiBot": "<i>I can't be killed </i><b>;)</b>"
# βΉοΈ Example: Josie stabbed Kevin before they starved to death
"death.kos": "%s<b> stabbed </b>%s<b> before they %s</b>"
/* ---------------------------------------------------------------------
Ban - Used for /ban, /kick, etc.
--------------------------------------------------------------------- */
"ban.kick.main": "%s<i> was kicked.</i>"
"ban.kickme.main": "%s<i> removed.</i>"
"ban.ban.main": "%s<i> was banned.</i>"
"ban.deport.main": "%s<i> was deported.</i>"
"ban.realdeport.main": "%s<i> was deported, permanently.</i>"
/* ---------------------------------------------------------------------
Fish - Used for /fish, /MyFish, etc.
--------------------------------------------------------------------- */
"fish.fish": "Fish"
"fish.fishing": "Fishing"
"fish.noFish": "<b>It looks like </b><a href=\"tg://user?id=%s\">%s</a><b> has never caught a fish before!\n\nHave a go:</b> /Fish"
"fish.noTrophyFish": "<b>You don't currently have any Trophy Fish π’ - but don't worry!\n\nCatch one </b>/Fish<b> to earn your first!</b>\n\n/MyFish ||| /Fish"
"fish.verdicts": {
"failure": "Just like in real life, <b>your bait failed.</b>"
"blowfish": "You caught a Blowfish: π‘"
"normal": "<b>Not bad!</b>\nYou caught a Normal Fish: π"
"tropical": "<b>Cool!</b>\nYou caught a Tropical Fish: π "
"squid": "<b>Sweet!</b>\nYou caught a Squid: π¦"
"crab": "<b>Awesome!</b>\nYou caught a Crab: π¦"
"dolphin": "<b>WHOA!</b>\nYou caught a Dolphin: π¬"
"shark": "<b>HOLY FUCKING SHIT!!</b>\nYou caught a Shark: π¦"
"crocodile": "<b>ARGHHH!!!</b>\nYou caught a Crocodile: π"
"whale": "<b>THE OCEAN SEEMS TO SINK DOWN...\n\nWith all of your strength, you reel in your catch!</b>\nYou caught a Whale: π³"
}
"fish.viewYourFish": "\n\n<b>View your fish:</b> /MyFish"
"fish.newTrophyFish": "\n\n<b>π You just earned a new</b>\n/TrophyFish!"
"fish.myFish":
'''
<b>π£ </b><a href="tg://user?id=%s">%s</a><b> β Fish:</b>
π‘ - Blowfish: <b>%s</b>
π - Normal Fish: <b>%s</b>
π - Tropical Fish: <b>%s</b>
π¦ - Crabs: <b>%s</b>
π¦ - Squid: <b>%s</b>
π¬ - Dolphins: <b>%s</b>
π¦ - Sharks: <b>%s</b>
π - Crocodiles: <b>%s</b>
π³ - Whales: <b>%s</b>
π π¦π - All Fish: <b>%s</b>
/TrophyFish ||| /Fish
'''
"trophy.types": {
"firstfish": "\n%s<%s> - First Fish!</%s>"
"1000fish": "\n%s<%s> - One Thousand Fish</%s>"
"5000fish": "\n%s<%s> - Five Thousand Fish</%s>"
"10000fish": "\n%s<%s> - Ten Thousand Fish</%s>"
"2018newyear": "\n%s<%s> - New Years 2018</%s>"
"2018vday": "\n%s<%s> - VDay 2018</%s>"
"2018xmas": "\n%s<%s> - Xmas 2018</%s>"
"2019newyear": "\n%s<%s> - New Years 2019</%s>"
"2020xmas": "\n%s<%s> - Xmas 2020</%s>"
"2022xmas": "\n%s<%s> - Xmas 2022</%s>"
}
/* ---------------------------------------------------------------------
JoinEvents - Used for Join Flow
--------------------------------------------------------------------- */
"joinevents.error.CalsiBotNotEnoughPermissions": "<b>A Welcome Message, JoinLock, JoinVerify or JoinLimit is currently enabled, but I don't have enough Admin permissions right now...\n\nPlease ensure that I can </b><code>change group info</code><b>, and </b><code>ban users</code><b>.</b>"
"joinevents.userPermabanned": "%s<b> was permanently banned from this group by an admin.\n\nI have removed them.</b>"
"joinevents.joinlockAddedByAdmin": "<b>Join Lock is enabled but </b>%s<b> was added by </b>%s<b>, so they have not been kicked.</b>"
"joinevents.joinlockMemberBanned": "%s<b> was banned because Join Lock is enabled.</b>"
/* ---------------------------------------------------------------------
JoinConfig - Used for Join Flow
--------------------------------------------------------------------- */
"joinconfig.welcome.help": "<code>/SetWelcome</code><b> allows you to set a Welcome Message for your chat\n\nYour message should be like the example below:</b>"
"joinconfig.welcome.error.somethingWrong": "<b>Sorry, but there's something wrong with the message you posted.\n\nPlease double-check your formatting, and make sure you haven't included any weird characters.</b>"
"joinconfig.welcome.success": "<b>Great, your new Welcome Message has been set. Check above to see how it'll look!\n\nYou can use </b><code>/DeleteWelcome</code><b> to remove it.</b>"
"joinconfig.welcome.removed": "<b>The Welcome Message has been removed.\n\nYou can use </b><code>/SetWelcome</code><b>, followed by the message you'd like, to set a new one.</b>"
"joinconfig.welcome.notSet": "<b>There is currently no Welcome Message set.\n\nYou can use </b><code>/SetWelcome</code><b>, followed by the message you'd like, to set one.</b>"
"joinconfig.joinlimit.help": "<code>/JoinLimit</code><b> allows you to set the default restrictions for any members who join your chat\n\nYour message should be like the example below:</b>"
"joinconfig.joinlimit.success": "<b>Your </b><code>/JoinLimit</code><b> has been set!</b>\n\nNew members will automatically be restricted %s, until an admin unrestricts them."
"joinconfig.joinlimit.successTimed": "<b>Your </b><code>/JoinLimit</code><b> has been set!</b>\n\nNew members will automatically be restricted %s, for the time limit you specified."
"joinconfig.title.help": "<code>/%s</code><b> allows you to set the chat's title with a message.\n\nYour message should be like this:</b>\n<code>/%s New chat title</code>\n\n<b>Tip: </b><i>Have a chat name you always use in titles? Check out </i>/cn"
"joinconfig.title.replyToTextHint": "<b>If you're replying to another message to set the chat's title, it must be text-only.</b>\n\n<b>Tip: </b><i>Have a chat name you always use in titles? Check out </i>/cn"
"joinconfig.chatname.help": "<code>/%s</code><b> allows you to set the chat's name. This name will always appear in front of any chat title set using </b><code>/t</code> <b>or</b> <code>/title</code><b>.\n\nYour message should be like this:</b>\n<code>/%s MyChatName</code>"
"joinconfig.chatname.replyToTextHint": "<b>If you're replying to another message to set the chat's name, it must be text-only.</b>"
"joinconfig.chatname.success": "<b>Your Chat Name has been set to:</b>\n%s\n\nThis will appear at the start of every chat title set using <code>/t</code> or <code>/title</code>."
/* ---------------------------------------------------------------------
JoinVerify - Used for /JoinVerify
--------------------------------------------------------------------- */
# β οΈ IMPORTANT
"joinverify.callbacks": {
"correctAnswerText": "Correct! %s more to go..."
"incorrectAnswerText": "Wrong. 3 more to go..."
"success": "<b>Success!\n\nGood work human, you can now chat in: </b><code>%s</code>"
"successAnswerText": "Success! You can chat in %s now..."
"failure": "<b>Unfortunately, you failed the verification test.</b>\n\nAre you a bot like me?"
"failureAnswerText": "Verify Request Failed"
"manuallyTrusted": "%s<b> has manually trusted </b>%s<b>.</b>"
"manuallyTrustedAnswerText": "User Trusted"
"expired": "<b>This Verify Request has Expired.</b>\n\nYou <b>may have been manually banned or trusted by the admins of the group.</b> Or, this is a very old request."
"expiredAnswerText": "Verify Request Expired"
"settingsUnavailable": "<b>Join Verify is not enabled right now, enable it first to change settings:</b>"
"setTimeLimit": "<b>Choose a Time Limit for Join Verify</b>\n\nHow many minutes should unverified members be allowed, before being banned?"
"setTimeLimitAnswerText": "Select a Value"
"timeLimitChanged": "<b>Join Verify Time Limit changed from </b><code>%s</code><b> to </b><code>%s</code><b> by </b>%s"
# βΉοΈ NOTE: Signatures are used for intelligent text switching. MUST be a uniquely identifiable portion of the full text,
# and NOT contain any formatting or assume the value of any dynamic values.
"timeLimitChangedSignature": "Join Verify Time Limit changed from "
"timeLimitChangedAnswerText": "New Settings Saved"
}
# β οΈ IMPORTANT
"joinverify.generateCaptcha.tapMatchingEmojiBelow": "<b>Tap The Main Emoji From Above:</b>"
"joinverify.imageText": {
"successTop": "Confirmed"
"successBottom": "Human"
"errorTop": "Something Went"
"errorBottom": "Wrong"
}
# β οΈ IMPORTANT
"joinverify.joinevents.joinVerifyAddedByAdmin": "<b>Join Verify is enabled but </b>%s<b> was added by </b>%s<b>, so they don't need to verify themselves.</b>"
"joinverify.joinevents.userVerify": "<b>Hey </b>%s<b> welcome to </b><code>%s</code><b>.\n\nTo chat, tap the \"Verify\" button and then \"Start\":</b>"
"joinverify.joinevents.userVerifyTimed": "<b>Hey </b>%s<b> welcome to </b><code>%s</code><b>.\n\nTo chat, tap the \"Verify\" button and then \"Start\". Otherwise, you will be banned in %s minutes:</b>"
"joinverify.joinevents.botVerify": "%s<b> is a bot.\n\nAn admin can press \"Trust\" below to allow it to send messages:</b>"
"joinverify.joinevents.botVerifyTimed": "%s<b> is a bot.\n\nAn admin can press \"Trust\" below to allow it to send messages, otherwise it'll be banned in %s minutes.</b>"
"joinverify.joinevents.userVerified": "%s<b> has </b><a href=\"t.me/CalsiBotDev/89\">verified themselves as human</a><b>.</b>"
# β οΈ IMPORTANT
"joinverify.preverify.callbacks": {
"success": "<b>Click the <u>temporary</u> Invite Link below to join the group:</b>\n%s\n\n<i>if you were banned from this group, you will not be able to join</i>"
"successAnswerText": "Success! Use the Invite Link to Join!"
"memberCount": "This group currently has %s members"
}
"joinverify.preverify.error.preVerifyInvalid": "<b>The PreVerify Invite Link is invalid or the group has disabled JoinVerify.</b>"
"joinverify.preverify.error.joinLockEnabled": "<b>This group currently has <a href=\"t.me/CalsiBotDev/48\">JoinLock</a> enabled, please try again later.</b>"
"joinverify.preverify.error.alreadyVerified": "<b>You have previously verified yourself as human.</b>\n\n%s"
"joinverify.preverify.error.notAvailable": "<b>Join Verify is not enabled right now, it must be enabled before you can use PreVerify:</b>"
"joinverify.preverify.steps": {
"one": "β΄οΈ <b>1. Forward the above (replied to) message</b> to a Public Channel where %s is an admin.\n<b>2. Tap or right-click the forwarded message and <b>Copy Link</b>\n3. Send the copied public link to this chat</b>.\n\nThe link should look like this:\nhttps://t.me/CalsiBotDev/99999"
"oneError.noVerificationString": "β <b>Couldn't find the required verification string in the post. Make sure the post you linked to is the ownership verification message you forwarded.</b>"
"oneError.urlFormat": "β <b>The link you sent doesn't look right. It should look like this:</b>\nhttps://t.me/CalsiBotDev/99999"
"oneError.targetIsNotChannel": "β <b>The link you have provided is for a Public Group.\n\nPreVerify is designed for use with Public Channels only.</b>"
"oneError.cantSendPost": "β <b>Could not send the message, please ensure %s is an admin with enough permissions in %s.</b>%s"
"oneSuccess": "β
<b>Okay, posted successfully!</b>\n\nSee https://t.me/%s/%s for the post!\n\n<b>To fully protect your group, you must revoke all previous Invite Links. You can do this by:</b>\n1. Revoking your personal Invite Link\n2. Demoting and then re-promoting all of your admins (except for CalsiBot). This will revoke any Invite Links they have shared."
}
"joinverify.preverify.imageText": {
"title": "To join the group:"
"stepOne": "Tap <span>Verify,</span> then <span>Start</span>"
"stepTwo": "<span>Pass</span> the test"
"stepThree": "<span>Join</span> the group!"
}
"joinverify.preverify.main": "<b>%s%s is <a href=\"t.me/CalsiBotDev/111\">protected by</a> PreVerify.</b>"
"joinverify.preverify.verificationMessage": "<b>This message is to verify ownership of this channel for CalsiBot's PreVerify feature.</b>\n\n%s"
"joinverify.preverify.setUpCancelled": "<b>PreVerify set up cancelled.</b>"
/* ---------------------------------------------------------------------
JoinLimit - Used for /JoinLimit
--------------------------------------------------------------------- */
"joinlimit.joinevents.userLimited": "%s has been restricted %s because <code>/JoinLimit</code><b> is enabled.</b>"
"joinlimit.joinevents.userLimitedTimed": "%s has been restricted %s <b>until %s (UTC) because </b><code>/JoinLimit</code><b> is enabled.</b>"
"joinlimit.joinevents.signature": " has been restricted "
/* ---------------------------------------------------------------------
Marry - Used for /Marry, /Divorce, etc.
--------------------------------------------------------------------- */
"marry.marriage": "Marriage"
"marry.callbacks": {
"waitForDecisionAnswerText": "πΆ You need to wait for %s to choose an option..."
"userNotInvolvedAnswerText": "π Stop interfering with other people's relationships, %s."
"proposalAccepted": "π %s<b> and </b>%s<b> have married each other! π</b><i>\n(happened %s %s so far)</i>\n\n%s\n\n<code>See your </code>/MarryStats"
"proposalAcceptedAnswerText": "π Congratulations! π"
"proposalRejected": "π€ %s<b> was rejected by </b>%s<i>\n(happened %s %s so far)</i>\n\n%s\n\n<code>See your </code>/MarryStats"
"proposalRejectedAnswerText": "π€ Ouch."
}
"marry.result.childPlural": {
"zero": "children"
"one": "child"
"other": "children"
}
"marry.result.housePlural": {
"zero": "houses"
"one": "house"
"other": "houses"
}
"marry.result.bothGainedHappiness": "π Both gained <b>%s happiness</b> each."
"marry.result.oneLostHappiness": "π %s lost <b>%s happiness</b>."
"marry.result.bothGainedChildren": "π₯Ί Both gained <b>%s %s</b> each."
"marry.result.oneTookChildrenFrom": "π₯Ί %s took <b>%s %s</b> from %s."
"marry.result.noChildrenGained": "π« No children gained this time."
"marry.result.bothGainedHouses": "π Both gained <b>%s %s</b> each."
"marry.result.oneTookHousesFrom": "π %s took <b>%s %s</b> from %s."
"marry.result.noHousesGained": "π« No houses gained this time."
"marry.result.bothGainedNetWorth": "π° Both gained <b>$%s</b> each."
"marry.result.oneTookNetWorthFrom": "π° %s took <b>$%s</b> from %s."
"marry.result.noNetWorthGained": "π« No net worth gained this time."
"marry.help": "π<b> Reply to someone you like with </b><code>/marry</code><b> to make it official.</b>"
"marry.error.cooldown": "<b>You must wait 1 minute between each time you check stats.</b>\n\n%s"
"marry.self": "<b>You can't marry yourself, even if no one else wants to marry you...</b>"
"marry.main": "π %s<b> has proposed to you!</b>"
"marry.CalsiBot": "<b>Sorry, but I'm already married to my work...</b> π₯Ί"
"marry.divorce.help": "π<b> Not feeling the love anymore? </b><code>/divorce</code><b> can be used to split up with people you've previously married.</b>"
"marry.divorce.error.notMarried": "π<b> You're not currently married to </b>%s<b>, so you can't divorce them...</b>"
"marry.divorce.self": "<i>Did you mean:\n</i>/kms"
"marry.divorce.main": "π€ %s<b> divorced </b>%s<i>\n(happened %s %s so far)</i>\n\nMarried for: %s\n\n%s\n\n<code>See your </code>/MarryStats"
"marry.divorce.CalsiBot": "<b>Let's see what my lawyers say about that...</b> π€§"
"marry.marrystats.error.noData": "π₯Ί %s <b>has never been married.</b>"
"marry.marrystats.error.noMutualData": "πΆ %s <b>has never been married to</b> %s<b>.</b>"
"marry.marrystats.CalsiBot": "<b>Unlike you, CalsiBot is pure and has no marriage history.</b>"
"marry.marrystats.own.information": "π %s<b> β Marry Stats β 1οΈβ£:</b>\n\nπ - Happiness: <b>%s</b>\nπ₯Ί - Children: <b>%s</b>\nπ - Houses: <b>%s</b>\nπ° - Net Worth: <b>$%s</b>"
"marry.marrystats.own.marriages": "π %s<b> β Marry Stats β 2οΈβ£:</b>\n\nβ€οΈ <b>Marriages:</b>\nRequests accepted most by %s\nRequests rejected most by %s\nMarried: <b>%s</b> | Rejected: <b>%s</b>"
"marry.marrystats.own.divorces": "π %s<b> β Marry Stats β 3οΈβ£:</b>\n\nπ€ <b>Divorces:</b>\nDivorced from %s most\nTotal: <b>%s</b>"
/* ---------------------------------------------------------------------
Permaban - Used for /Permaban, /UnPermaban
--------------------------------------------------------------------- */
"permaban.permaban": "Permaban"
"permaban.callbacks": {
"userPermabanned": "<a href=\"tg://user?id=%s\">This user</a><b> was Permabanned by </b>%s"
"userPermabannedAnswerText": "User Permabanned"
"userAlreadyPermabanned": "<a href=\"tg://user?id=%s\">This user</a><b> is already Permabanned.</b>"
"userAlreadyPermabannedAnswerText": "User Already Permabanned"
"userUnPermabanned": "<a href=\"tg://user?id=%s\">This user</a><b> was Un-Permabanned by </b>%s"
"userUnPermabannedAnswerText": "User Un-Permabanned"
"userAlreadyNotPermabanned": "<a href=\"tg://user?id=%s\">This user</a><b> is already not Permabanned.</b>"
"userAlreadyNotPermabannedAnswerText": "User Already Not Permabanned"
}
"permaban.replyHint": "<b>Reply to the user who you want to </b><code>permaban</code>"
/* ---------------------------------------------------------------------
Restrict - Used for /restrict, /unrestrict, /unban
--------------------------------------------------------------------- */
"restrict.restricted": "restricted"
"restrict.callbacks": {
"restrictionsReset": "<b>Restrictions were reset by </b>%s"
"restrictionsUpdated": "<b>Restrictions updated by </b>%s"
"restrictCancelled": "<code>/restrict</code><b> cancelled by </b>%s"
}
"restrict.info": {
"messages": "Controls if the user can send any messages at all."
"media": "Controls if the user can send audio, documents, photos, videos, video notes, and voice notes."
"stickergifs": "Controls if the user can send animations, games, stickers, and use inline bots."
"linkpreviews": "Controls if the user can add link previews to their messages."
}
"restrict.types": {
"messages": "from sending any Messages here"
"media": "from sending any Media messages here"
"stickergifs": "from sending any Stickers or GIFs here"
"linkpreviews": "from adding any Link Previews to their messages"
}
"restrict.success": "%s has now been restricted %s by %s"
"restrict.successTimed": "%s has now been restricted %s <b>until %s (UTC) by </b>%s"
"restrict.replyHint": "<b>Reply to the user whose restrictions you want to edit</b>"
"restrict.main": "<b>Use the toggles below to choose what </b>%s<b> can send here:</b>"
"restrict.mainTimed": "<b>Use the toggles below to choose what </b>%s<b> can send here:\n\nThe restrictions will automatically expire on:\n</b><code>%s %s</code>"
/* ---------------------------------------------------------------------
Warn - Used for /warn, /Warns, /MyWarns
--------------------------------------------------------------------- */
"warn.warned": "warned"
"warn.checkWarnsOf": "check the warns of"
"warn.callbacks": {
"warnRemovedBy": "<b>Warn was removed by </b>%s"
"warnRemovedAnswerText": "Warn Removed!"
"noWarns": "<a href=\"tg://user?id=%s\">This user</a><b> doesn't currently have any warns</b>"
"noWarnsToRemoveAnswerText": "No Warns to Remove"
"noWarnsToShowAnswerText": "No Warns to Show"
"previousWarns": "<a href=\"tg://user?id=%s\">This user's</a><b> warns:</b>"
"previousWarnsAnswerText": "Previous Warns Loaded"
"confirmRemoveAllWarns": "<b>Are you sure you want to remove all of </b><a href=\"tg://user?id=%s\">this user's</a><b> warns?</b>"
"confirmRemoveAllWarnsAnswerText": "Are You Sure?"
"allWarnsRemovedBy": "All of <a href=\"tg://user?id=%s\">this user's</a><b> previous warns have been removed by </b>%s"
"allWarnsRemovedAnswerText": "Previous Warns Removed"
"chooseMaxWarnsValue": "<b>At which number of warns should a user be banned?</b>"
"chooseMaxWarnsValueAnswerText": "Select a Value"
"maxWarnsValueChangedBy": "<b>Max Warn changed from </b><code>%s</code><b> to </b><code>%s</code><b> by </b>%s"
"maxWarnsValueChangedAnswerText": "New Max Warn Set"
}
"warn.noReasonGiven": "No reason given"
"warn.replyHint": "<b>Reply to the user who you want to warn, e.g:</b>\n\n<code>/warn</code><b>, or\n</b><code>/warn <reason here></code>"
"warn.success": "%s<b> was warned by </b>%s.%s\n\n<code>%s out of %s warns</code>"
"warn.userBanned": "%s<b> was banned. Reached </b><code>%s out of %s warns</code>"
"warn.myWarns": "<b>Warns for </b>%s<b>:</b>"
"warn.noWarns": "No warns, pretty smart."
/* ---------------------------------------------------------------------
Start - Used for /start
--------------------------------------------------------------------- */
# β οΈ IMPORTANT
"start.error.JoinVerifyWrongUser": "<b>That button wasn't meant to be pressed by you.\n\nBut hey, now that you're here:</b>"
"start.error.JoinVerifyExpired": "<b>Sorry, your Join Verify Request has expired.\n\nPlease re-join the group and try again.</b>"
"start.main":
'''
<b>Hey </b><code>%s</code><b>, I'm %s!
β΄οΈ I keep your group safe from evil</b> and also have <b>tons of other cool features</b> like <a href="t.me/CalsiBotDev/48">translations</a><b>.</b>
<b>Most used Group Admin tools:</b>
<a href="t.me/CalsiBotDev/89">/JoinVerify</a>
<a href="t.me/CalsiBotDev/23">/restrict</a>, <a href="t.me/CalsiBotDev/82">/warn</a>, <a href="t.me/CalsiBotDev/48">/JoinLock</a>, and <a href="t.me/CalsiBotDev/74">/JoinLimit</a>
<b>See other commands:</b>
/ListCommands
'''
/* ---------------------------------------------------------------------
Misc - A mix of other commands
--------------------------------------------------------------------- */
"misc.boi.self": "<b>Imagine unironically trying to </b>/boi<b> yourself...</b>"
"misc.boi.main": "You have been visited by the mighty hand of roasts. Go to your corner and think about the bullshit you've said."
"misc.boi.CalsiBot": "<b>boiii, do you even know what you just tried to do!? π‘π€</b>"
"misc.denko.main":
'''
<b>(Β΄ο½₯Οο½₯`)</b>
'''
"misc.huh.main": "<b>huh</b>"
"misc.judge.main.truth": "%s<b> is telling the truth.</b>"
"misc.judge.main.lying": "%s<b> is lying!</b>"
"misc.judge.CalsiBot": "<i>I am beyond judgement.</i>"
"misc.coin.main.heads": "%s flipped a coin!\n\n<b>It's heads!</b>"
"misc.coin.main.tails": "%s flipped a coin!\n\n<b>It's tails!</b>"
"misc.covfefe.tooLong": "<b>β Too long. βπ</b>"
"misc.covfefe.replyHint": "<b>Reply to the message you want to covfefe!</b>"
"misc.spurdo.tooLong": "<b>β too lonk :dd π₯Ί</b>"
"misc.spurdo.replyHint": "<b>reply to de meszage you wand to spurdo-fy :DD</b>"
"misc.listcommands.main":
'''
<b>Almost every CalsiBot command:</b>
<b>Comfy Commands:</b>
/hug, /cuddle, /snuggle, /ruffle
/pat, /poke, /highfive
<b>Games:</b>
/fish, /marry, /divorce
<b>Game Commands:</b>
/slap, /wish, /judge, /coin (/flip)
/roll, /dox
/kms, /kys, /kos
<b>Group Admin Commands:</b>
/kick, <code>/kickme</code>, /ban, /permaban
/mute (/restrict), /unrestrict (/unban), /warn
/pin, /unpin, /title, /chatname, /pfp
/SetWelcome, /RemoveWelcome
/JoinLimit, /JoinLock
/JoinVerify, /PreVerify
<b>Text Modification Commands:</b>
/covfefe, /spurdo, /emojify
<b>Other:</b>
/boi, /denko, /huh
/name, /me, /edgy
<a href="t.me/CalsiBotDev/51">"sed" (text switching/replacement)</a>
<b>Useful Functions:</b>
/stickers, <code>@admin</code>, /language
/translate (/tr), /when, /count
'''
# βΉοΈ Example: It's
# Alex Wayne"
"misc.name.main": "It's:\n<b>%s</b>"
"misc.me.main":
'''
<b>Info Card for </b>%s<b>:</b>
<code>Username: </code>%s
<code>User ID: </code>%s
<code>Chat ID: </code>%s
'''
"misc.wish.help":
'''
<b>You can use </b><code>/wish</code><b> as a general Wishing Well of sorts
For example:</b>
<code>/wish I could date you π</code><b>, or</b>
<code>/wish that sushi was π£ in /emojify</code><b>, or</b>
<code>/wish I had someone to /cuddle at night</code><b>...</b>
'''
"misc.wish.main": "<b>Your wish has been cast. β¨</b>\n\n<i>chance of success: %s%</i>"
"misc.adminmode.help": "<b>Admin Mode allows you to disable all CalsiBot commands that are not related to Group Administration</b>"
"misc.adminmode.sorry": "<b>Sorry, Admin Mode is Enabled so you can't use this command here...</b>\n\n%s"
"misc.sedreplace.main": "Did you mean:"
"misc.pfp.help": "<b>Reply to a compressed image (not sent as a file) which you want to set as the group profile picture</b>"
"misc.slap.CalsiBot": "<b>You can't slap me, that's just not how this works...</b>"
"misc.when.forwardMain": "π
Originally posted on <b>%s</b> at <b>%s</b> (UTC)\n\nβ³ That's <b>%s</b> ago."
"misc.when.otherMain": "β³ This message was sent <b>%s</b> ago."
"misc.when.otherEdit": "\n\nβοΈ Last edited <b>%s</b> ago."
"misc.when.help": "<b>Reply to any message to see how long it's been since it was posted - down to the second.\n\nFor forwarded messages, I'll tell you when the original message was first posted.</b>"
"misc.count.main": "<b>Since being made, this supergroup has had </b><code>%s</code><b> messages in total, including yours</b>"
"misc.pin.help": "<code>/pin</code> <b>allows you to easily set, or change the chat's pin without stupid menus\n\nStill unsure how to use it? Tap the button below to see an example:</b>"
"misc.pin.main": "<b>Reply to a compressed image (not sent as a file) which you want to set as the group profile picture</b>"
# βΉοΈ Example: Couldn't find any\n- non-animated sticker π\n\nTry again with a different message.
"misc.fileIDSearch.error.noUsableFileFound": "<b>Couldn't find any:</b>\n%s. π\n\n<b>Try again with a different message.</b>"
# βΉοΈ Example: Come over here, get on your knees, and translate this π
"misc.knees.main": "<b>Come over here, get on your knees, and </b><i>%s</i><b> this %s</b>"
/* ---------------------------------------------------------------------
Language - Used for /language
--------------------------------------------------------------------- */
# βΉοΈ NOTE: This should be the native name of the language.
"language.name": "English"
"language.main": "<b>Your language is currently set to:</b>\n<code>%s</code>"
"language.credit": "<b>This translation is made possible by the </b><a href=\"https://github.com/CalsiBotDev/CalsiBot/\">hard work</a><b> of the following people:</b>\n"
# βΉοΈ NOTE: The contributors string should NOT be changed by anyone other than me, or those who are already listed
# as contributors.
#
# By default, let's use id-mentions here instead of usernames for privacy reasons, but if you'd prefer to
# be credited by username or something else, feel free to change your tag here - or ask me to do it.
#
# This list of names should be in order of contribution size and frequency, taking into account age of last
# contribution.
"language.credit.activeContributors": "<a href=\"t.me/cancer\">CalsΓ―</a>"
"language.callbacks": {
"chooseYourLanguage": "<b>Choose your language:</b>"
"changedBy": "<b>Language changed from </b><code>%s</code><b> to </b><code>%s</code><b> by </b>%s"
"changedByAnswerText": "Language Changed"
"languageAlreadySetAnswerText": "%s is the already set as the group language"
}
/* ---------------------------------------------------------------------
Emojify - Used for /emojify
--------------------------------------------------------------------- */
"emojify.error.tooLong": "<b>β Too long. ππ</b>"
"emojify.error.replyToHuman": "<b>Nah π« fam π\n\nReply π¬ to a human π€</b>"
"emojify.replyHint": "π <b>Reply π¬ to the π text π² you π want π to emojify!</b>"
/* ---------------------------------------------------------------------
Translate - Used for /tr, /translate
--------------------------------------------------------------------- */
"translate.error.notALanguage": "<b>Sorry, '%s' is not a language, or isn't supported</b>"
"translate.replyHint": "<b>Reply to the text you want to translate!</b>"
/* ---------------------------------------------------------------------
Roll - Used for /roll
--------------------------------------------------------------------- */
"roll.singlesArray": [
"Singles :("
":( single, like you."
"._."
"REEEEEEEEE"
"rip u"
"(((they))) did this"
"feelsbadman.gaypg"
]
# βΉοΈ Example: You Got Septuples!
"roll.main": "You Got %s"
# βΉοΈ Example: 777\n\nresult between 0 and 1000
"roll.custom": "<b>%s</b>\n\n<i>result between <code>%s</code> and <code>%s</code></i>"
/* ---------------------------------------------------------------------
Dox - Used for /dox
--------------------------------------------------------------------- */
"dox.result":
'''
<b>Dox of </b>%s<b>:</b>
<pre>Gender: %s
Date of Birth: %s
Address: %s, %s
Job: %s
Current IP: %s
SSN: %s
Phone Number: %s</pre>
'''
"dox.gendersArray": [
"boy"
"girl"
"e-boy"
"e-girl"
"thot"
"whore"
"fuckboy"
"idk π³"
]
/* ---------------------------------------------------------------------
AtAdmin - Used for @admin, @admins
--------------------------------------------------------------------- */
# βΉοΈ NOTE: The last %s may look useless here, but it will hold the 'mentions' to the group's admins
"atAdmin.main": "%s <b>has summoned admins to look at this message.</b>%s"
"atAdmin.callbacks": {
"chooseAction": "<b>Select the actions you want to take with the toggles below:</b>"
"chooseActionAnswerText": "Select An Action"
"ignoreAnswerText": "Report Ignored"
"actionTakenAnswerText": "The actions you selected have been taken"
}
"atAdmin.info": {
"delete": "Should the reported message be deleted? Note that bots are unable to delete messages older than 48h..."
"ban": "Should the reported user be banned?"
}
/* ---------------------------------------------------------------------
Stickers - Used for all /sticker commands
--------------------------------------------------------------------- */
"stickers.defaultPackTitle": "%s's Favorites"
"stickers.acceptableFileTypes": "<b>- GIF,\n- compressed photo,\n- uncompressed photo</b> (<10 MB)<b>,\n- video</b> (<10 MB)<b>,\n- photo, animated, or video sticker</b>"
"stickers.main": "<b>Create, Manage and Add to Sticker Packs with the following commands:</b>\n\n/newpack β make a new pack\n/listpacks β list your packs and their IDs\n/renamepack β rename a pack\n/removepack β unlink a pack from CalsiBot\n\n/addsticker β add sticker to a pack\n/deletesticker β delete sticker from a pack\n\n<b>Expert usage:</b>\n\n/addsticker 3 β add image or sticker to pack with ID <code>3</code>\n/addsticker π₯³ππ β create sticker and suggest it when using any of these three emoji\n/addsticker 3 π₯³ππ β create sticker and add to pack <code>3</code>, suggest it when using any of these three emoji"
"stickers.beingAdded": "β³ <b>Your sticker is being added, please wait...</b>"
"stickers.beingAddedQueued": "β³ <b>Your sticker will be added in %s, please wait...</b>"
"stickers.beingAddedSuccess": "π₯³ <b>Your sticker has been added!</b>\n\n<i>if you don't see it, remove and re-add the Sticker Pack:</i>"
"stickers.beingDeleted": "<b>This sticker has been removed.</b>\n\n<i>it may take up to 2 minutes to disappear:</i>"
"stickers.letsCreateAPackInPrivate": "<b>Sticker Packs must be created in private, let's go:</b>"
"stickers.removeOnlyInPrivate": "<b>Sticker Packs can only be removed in private, let's go:</b>"
"stickers.seeAllCommandsHint": "<b>Send /stickers to see all commands and info.</b>"
"stickers.videoTrimmedHint": "<i>Tip: When adding videos, only the first 3 seconds can be used. Trim them yourself before adding to select a specific part.</i>"
"stickers.whichPackShouldBeAddedTo": "<b>Which pack should the sticker be added to?</b>\n\n%s"
"stickers.callbacks": {
"confirmStickerPackCreateOrRename": "<b>Your Sticker Pack will have the following title:</b>\n\n<code>%s</code>\n\n<b>Press Cancel to choose a different title.</b>"
"cancelStickerPackCreateOrRename": "<b>Okay, choose a different title and try again. For example:</b>\n\n<code>%s %s</code>"
"stickerPackCreateSuccess": "<b>Your Sticker Pack has been created!</b>\n\nYou can now reply to images and stickers with /addsticker to add them to your pack\n\n%s"
"stickerPackRenameSuccess": "<b>Your Sticker Pack has been renamed!</b>\n\n%s"
"confirmStickerPackRemove": "β οΈ <b>Your Sticker Pack will be disconnected from CalsiBot.\n\nYou won't be able to update this pack with CalsiBot ever again.\n\nAre you sure you want to remove this pack?</b>"
"cancelStickerPackRemove": "<b>Okay, pack was not removed.</b>"
"stickerPackRemoveSuccess": "<b>Your Sticker Pack has been removed from CalsiBot.</b>\n\nTo fully delete it, talk to @Stickers"
"cancelAddEmojiToMessage": "<b>Okay, you can specify a different emoji yourself. For example:</b>\n\n<code>%s</code>"
}
"stickers.listPacks": "<b>Your Packs:\n\n%s</b>\n\n%s"
"stickers.listPacksFill": "%s β <a href=\"%s\">%s</a>"
"stickers.validStickerPacksAre": "<b>Valid Sticker Pack IDs are:\n<code>%s</code></b>"
"stickers.error": {
"noTitleGiven": "<b>You must specify a title. For example:</b>\n\n<code>/%s %s</code>"
"noPackGiven": "<b>You must specify a pack. For example:</b>\n<code>/%s %s</code>\n\n%s"
"noEmojiGiven": "<b>Please choose an emoji below\n\nPress Cancel to specify your own:</b>\n<code>%s</code>"
"noStickerPacks": "<b>You don't have any Sticker Packs.</b>\n\n%s"
"specifiedPackDoesNotExist": "<b>Could not find Sticker Pack <code>%s</code></b>\n\n%s"
"stickerAlreadyDeleted": "<b>This sticker has already been deleted.</b>"
"packFull": "<b>This pack is full, delete some stickers from it or create a new pack.</b>"
"packLimitReached": "<b>You have reached the limit of %s Sticker Packs.\n\nIf you want to make a new pack, you must use </b><code>/removepack</code><b> to remove one first.</b>"
"addStickerReplyHint": "<b>Reply to the media which you want to add to a sticker pack.</b>"
"deleteStickerReplyHint": "<b>Reply to a sticker from one of your packs which you want to delete.</b>"
}
/* ---------------------------------------------------------------------
Herd - Used for /herd, /hkick, /hban, /hunban
--------------------------------------------------------------------- */
"herd.join.main": "<b>Your Herd Join Request has been generated. It will only last for a short time.\n\nSend this message to a Herd admin who must accept you by sending the command below in the </b><a href=\"https://t.me/c/%s/999999999\">Herd HQ chat</a><b>:</b>\n<code>/herd join %s</code>"
"herd.join.success": "<b>Your Herd request has been accepted! This group is now a member of this Herd:</b>\n<code>%s</code>\n\nβοΈ <b>A public record of this Herd's data can be found </b><a href=\"https://github.com/CalsiBotDev/Herds-and-Actions/tree/master/%s\">on GitHub here</a><b>.</b>\n\n<b>Actions Herd admins take will overrule your admin's decisions.</b>\n\nYou can <code>/herd leave</code> at any time.%s"
"herd.join.hq.success": "<a href=\"https://t.me/c/%s/999999999\">%s</a><b> has now been added to this Herd.\n\nThere are now <code>%s</code> Herd members.</b>"
"herd.join.error": {
"alreadyInHerd": "<b>This group is already a member of this Herd:</b>\n<code>%s</code>\n\nYou must <code>/herd leave</code> to join a new Herd."
"invalidHerd": "<b>The Herd you provided does not exist, or you didn't provide a Herd. Your command should look like this:</b>\n<code>/herd join <i>herd-id-here</i></code>"
"invalidToken": "<b>The token you provided has expired, or you didn't provide a token.\n\nThis group owns a Herd, so it can use </b><code>/herd join <i>token-here</i></code><b> to accept other groups into the Herd.\n\nOther groups who want to join your Herd can send:</b>\n<code>/herd join %s</code><b> to generate their token.</b>"
"memberLimit": "<b>This Herd:</b>\n<code>%s</code>\n\n<b>Has reached the maximum number of allowed members (25). Other members must leave before you can join.</b>"
}
"herd.leave.success": "<b>This group is no longer a member of this Herd:</b>\n<code>%s</code>\n\nYou can <code>/herd join <i>herd-id-here</i></code> a different Herd at any time."
"herd.create.main": "<b>β οΈ Read all of the following text:\n\n- It is highly recommended that you make a new group to serve as the base for your Herd!\n- This allows you to manage Herd admins completely independently of any existing group structures you have.\n\nIf you are already sending this command in a new group, then send the following command to create your Herd:</b>\n<code>/herd create %s</code>"
"herd.create.success": "<b>Success! This group now owns and is a member of this Herd:</b>\n<code>%s</code>%s"
"herd.create.successGuidance": "\n\nA public record of this Herd's data will be uploaded <a href=\"https://github.com/CalsiBotDev/Herds-and-Actions/tree/master/\">to GitHub here</a>.\n\n<b>People in <u>this group</u> who can ban users, will be able to use </b><code>/hban</code><b> and </b><code>/hunban</code><b> in this group and any other that is a member of this Herd.\n\nYou <u>must</u> respect the people who join your Herd by appointing good admins, and not abusing trust.</b>"
"herd.create.error": {
"alreadyInHerd": "<b>This group is already a member of this Herd:</b>\n<code>%s</code>\n\nYou must <code>/herd leave</code> to establish a new Herd that this group owns."
}
"herd.orphan.main": "<b>β οΈ Orphaning a Herd is serious! Here are some recent statistics for your Herd:\n\nHerd Members: %s\nTotal Bans: %s</b>\n\nSend the following command to confirm:\n<code>/herd orphan %s</code>\n\nIf you'd still like to go forward with orphaning this Herd:\n<code>%s</code>"
"herd.orphan.success": "<b>This group has orphaned this Herd:</b>\n<code>%s</code>"
"herd.main": "<b>Herds allow you to link together groups you own or groups with similar rules and share kicks, bans, and unbans between all of them, seamlessly.</b>\n\n<code>/herd join <i>herd-id-here</i></code> - join a Herd\n<code>/herd leave</code> - leave your current Herd\n<code>/herd create</code> - create a new Herd\n<code>/herd orphan</code> - abandon a Herd you created"
"herd.error": {
"cooldown": "<b>A previous Herd action is still being processed for this user, please try again in a while.</b>"
"notInHerd": "<b>This group is not in a Herd, so this command can't be used.</b>"
"isHerdOwner": "<b>This group owns and is a member of this Herd:</b>\n<code>%s</code>\n\nIf you'd like to make a new Herd and abandon this one, you can use:\n<code>/herd orphan</code>."
"isNotHerdOwner": "<b>This group is not the owner of this Herd:</b>\n<code>%s</code>."
"hqChatNotAccessible": "β οΈ <b>Something is wrong. Please ensure that %s is both a member and admin of the </b><a href=\"https://t.me/c/%s/999999999\">Herd HQ chat</a><b>.\n\nIf this error keeps occuring, the Herd has probably been adandoned and it is recommended that you:</b>\n<code>/herd leave</code>"
}
"herd.ban": {
"ban.main": "%s<b> will be banned across all groups in the Herd below, where they are not an admin:</b>\n<code>%s</code>\n\nUse <code>/hunban</code> to undo"
"ban.hq.main": "%s <b>has banned</b> %s\n\nReason:\n<code>%s</code>"
"unban.main": "%s<b> will be unbanned across all groups in Herd:</b>\n<code>%s</code>\n\nUse <code>/hban</code> to undo"
"unban.hq.main": "%s <b>has unbanned</b> %s\n\nReason:\n<code>%s</code>"
}
"herd.ban.error": {
"alreadyBanned": "<a href=\"tg://user?id=%s\">This user</a><b> is already banned in Herd:</b>\n<code>%s</code>"
"alreadyNotBanned": "<a href=\"tg://user?id=%s\">This user</a><b> is already not banned in Herd:</b>\n<code>%s</code>"
"userIsHerdAdmin": "<b>You can't do anything to</b> %s <b>in this Herd because they're a member of its </b><a href=\"https://t.me/c/%s/999999999\">Herd HQ chat</a><b>.</b>"
"reasonMandatory": "<b>You must provide a reason for Herd actions, for example:</b>\n<code>/%s reason here</code>"
"needToBeAdminAttachment": "\n\nIn Herd:\n<code>%s</code>"
}
}