settings.py 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139
  1. # █ █ ▀ █▄▀ ▄▀█ █▀█ ▀
  2. # █▀█ █ █ █ █▀█ █▀▄ █
  3. # © Copyright 2022
  4. # https://t.me/hikariatama
  5. #
  6. # 🔒 Licensed under the GNU AGPLv3
  7. # 🌐 https://www.gnu.org/licenses/agpl-3.0.html
  8. import os
  9. import telethon
  10. from telethon.tl.types import Message
  11. from telethon.extensions.html import CUSTOM_EMOJIS
  12. from .. import loader, main, utils, version
  13. from ..inline.types import InlineCall
  14. @loader.tds
  15. class CoreMod(loader.Module):
  16. """Control core userbot settings"""
  17. strings = {
  18. "name": "Settings",
  19. "too_many_args": (
  20. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Too many args</b>"
  21. ),
  22. "blacklisted": (
  23. "<emoji document_id=5368324170671202286>👍</emoji> <b>Chat {} blacklisted"
  24. " from userbot</b>"
  25. ),
  26. "unblacklisted": (
  27. "<emoji document_id=5368324170671202286>👍</emoji> <b>Chat {}"
  28. " unblacklisted from userbot</b>"
  29. ),
  30. "user_blacklisted": (
  31. "<emoji document_id=5368324170671202286>👍</emoji> <b>User {} blacklisted"
  32. " from userbot</b>"
  33. ),
  34. "user_unblacklisted": (
  35. "<emoji document_id=5368324170671202286>👍</emoji> <b>User {}"
  36. " unblacklisted from userbot</b>"
  37. ),
  38. "what_prefix": "❓ <b>What should the prefix be set to?</b>",
  39. "prefix_incorrect": (
  40. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Prefix must be one"
  41. " symbol in length</b>"
  42. ),
  43. "prefix_set": (
  44. "<emoji document_id=5368324170671202286>👍</emoji> <b>Command prefix"
  45. " updated. Type</b> <code>{newprefix}setprefix {oldprefix}</code> <b>to"
  46. " change it back</b>"
  47. ),
  48. "alias_created": (
  49. "<emoji document_id=5368324170671202286>👍</emoji> <b>Alias created."
  50. " Access it with</b> <code>{}</code>"
  51. ),
  52. "aliases": "<b>🔗 Aliases:</b>\n",
  53. "no_command": (
  54. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Command</b>"
  55. " <code>{}</code> <b>does not exist</b>"
  56. ),
  57. "alias_args": (
  58. "<emoji document_id=5436162517686557387>🚫</emoji> <b>You must provide a"
  59. " command and the alias for it</b>"
  60. ),
  61. "delalias_args": (
  62. "<emoji document_id=5436162517686557387>🚫</emoji> <b>You must provide the"
  63. " alias name</b>"
  64. ),
  65. "alias_removed": (
  66. "<emoji document_id=5368324170671202286>👍</emoji> <b>Alias</b>"
  67. " <code>{}</code> <b>removed</b>."
  68. ),
  69. "no_alias": (
  70. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Alias</b>"
  71. " <code>{}</code> <b>does not exist</b>"
  72. ),
  73. "db_cleared": (
  74. "<emoji document_id=5368324170671202286>👍</emoji><b> Database cleared</b>"
  75. ),
  76. "hikka": (
  77. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>Version:"
  78. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji> <b>Build:"
  79. " </b><i>{}</i>\n\n<emoji document_id=5233346091725888979>⚙️</emoji>"
  80. " <b>Hikka-TL: </b><i>{}</i>\n\n<emoji"
  81. " document_id=5454182070156794055>⌨️</emoji> <b>Developer:"
  82. " t.me/hikariatama</b>"
  83. ),
  84. "confirm_cleardb": "⚠️ <b>Are you sure, that you want to clear database?</b>",
  85. "cleardb_confirm": "🗑 Clear database",
  86. "cancel": "🚫 Cancel",
  87. "who_to_blacklist": (
  88. "<emoji document_id=5384612769716774600>❓</emoji> <b>Who to blacklist?</b>"
  89. ),
  90. "who_to_unblacklist": (
  91. "<emoji document_id=5384612769716774600>❓</emoji> <b>Who to"
  92. " unblacklist?</b>"
  93. ),
  94. "unstable": (
  95. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>You are using an"
  96. " unstable branch </b><code>{}</code><b>!</b>"
  97. ),
  98. }
  99. strings_ru = {
  100. "too_many_args": (
  101. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Слишком много"
  102. " аргументов</b>"
  103. ),
  104. "blacklisted": (
  105. "<emoji document_id=5368324170671202286>👍</emoji> <b>Чат {} добавлен в"
  106. " черный список юзербота</b>"
  107. ),
  108. "unblacklisted": (
  109. "<emoji document_id=5368324170671202286>👍</emoji> <b>Чат {} удален из"
  110. " черного списка юзербота</b>"
  111. ),
  112. "user_blacklisted": (
  113. "<emoji document_id=5368324170671202286>👍</emoji> <b>Пользователь {}"
  114. " добавлен в черный список юзербота</b>"
  115. ),
  116. "user_unblacklisted": (
  117. "<emoji document_id=5368324170671202286>👍</emoji> <b>Пользователь {}"
  118. " удален из черного списка юзербота</b>"
  119. ),
  120. "what_prefix": "❓ <b>А какой префикс ставить то?</b>",
  121. "prefix_incorrect": (
  122. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Префикс должен"
  123. " состоять только из одного символа</b>"
  124. ),
  125. "prefix_set": (
  126. "<emoji document_id=5368324170671202286>👍</emoji> <b>Префикс обновлен."
  127. " Чтобы вернуть его, используй</b> <code>{newprefix}setprefix"
  128. " {oldprefix}</code>"
  129. ),
  130. "alias_created": (
  131. "<emoji document_id=5368324170671202286>👍</emoji> <b>Алиас создан."
  132. " Используй его через</b> <code>{}</code>"
  133. ),
  134. "aliases": "<b>🔗 Алиасы:</b>\n",
  135. "no_command": (
  136. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Команда</b>"
  137. " <code>{}</code> <b>не существует</b>"
  138. ),
  139. "alias_args": (
  140. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Требуется ввести"
  141. " команду и алиас для нее</b>"
  142. ),
  143. "delalias_args": (
  144. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Требуется имя"
  145. " алиаса</b>"
  146. ),
  147. "alias_removed": (
  148. "<emoji document_id=5368324170671202286>👍</emoji> <b>Алиас</b>"
  149. " <code>{}</code> <b>удален</b>."
  150. ),
  151. "no_alias": (
  152. "<emoji document_id=5436162517686557387>🚫</emoji><b> Алиас</b>"
  153. " <code>{}</code> <b>не существует</b>"
  154. ),
  155. "db_cleared": (
  156. "<emoji document_id=5368324170671202286>👍</emoji><b> База очищена</b>"
  157. ),
  158. "hikka": (
  159. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>Версия:"
  160. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji> <b>Сборка:"
  161. " </b><i>{}</i>\n\n<emoji document_id=5233346091725888979>⚙️</emoji>"
  162. " <b>Hikka-TL: </b><i>{}</i>\n\n<emoji"
  163. " document_id=5454182070156794055>⌨️</emoji> <b>Developer:"
  164. " t.me/hikariatama</b>"
  165. ),
  166. "_cls_doc": "Управление базовыми настройками юзербота",
  167. "confirm_cleardb": "⚠️ <b>Вы уверены, что хотите сбросить базу данных?</b>",
  168. "cleardb_confirm": "🗑 Очистить базу",
  169. "cancel": "🚫 Отмена",
  170. "who_to_blacklist": (
  171. "<emoji document_id=5384612769716774600>❓</emoji> <b>Кого заблокировать"
  172. " то?</b>"
  173. ),
  174. "who_to_unblacklist": (
  175. "<emoji document_id=5384612769716774600>❓</emoji> <b>Кого разблокировать"
  176. " то?</b>"
  177. ),
  178. "unstable": (
  179. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>Ты используешь"
  180. " нестабильную ветку </b><code>{}</code><b>!</b>"
  181. ),
  182. }
  183. strings_de = {
  184. "too_many_args": (
  185. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Zu vieleArgumente</b>"
  186. ),
  187. "blacklisted": (
  188. "<emoji document_id=5368324170671202286>👍</emoji> <b>Chat {} hinzugefügt"
  189. " zuUserbot-Blacklist</b>"
  190. ),
  191. "unblacklisted": (
  192. "<emoji document_id=5368324170671202286>👍</emoji> <b>Chat {} entfernt aus"
  193. "Blacklist für Userbots</b>"
  194. ),
  195. "user_blacklisted": (
  196. "<emoji document_id=5368324170671202286>👍</emoji> <b>Benutzer {}"
  197. "Von Userbot auf die schwarze Liste gesetzt</b>"
  198. ),
  199. "user_unblacklisted": (
  200. "<emoji document_id=5368324170671202286>👍</emoji> <b>Benutzer {}"
  201. " von Userbot-Blacklist entfernt</b>"
  202. ),
  203. "what_prefix": "❓ <b>Welches Präfix soll ich setzen?</b>",
  204. "prefix_incorrect": (
  205. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Präfix muss"
  206. "bestehen nur aus einem Zeichen</b>"
  207. ),
  208. "prefix_set": (
  209. "<emoji document_id=5368324170671202286>👍</emoji> <b>Präfix aktualisiert."
  210. " Um es zurückzugeben, verwenden Sie</b> <code>{newprefix}setprefix"
  211. "{oldprefix}</code>"
  212. ),
  213. "alias_created": (
  214. "<emoji document_id=5368324170671202286>👍</emoji> <b>Alias ​​erstellt."
  215. " Verwenden Sie es über</b> <code>{}</code>"
  216. ),
  217. "aliases": "<b>🔗 Aliasse:</b>\n",
  218. "no_command": (
  219. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Befehl</b>"
  220. " <code>{}</code> <b>existiert nicht</b>"
  221. ),
  222. "alias_args": (
  223. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Eingabe erforderlich"
  224. "Befehl und Alias ​​dafür</b>"
  225. ),
  226. "delalias_args": (
  227. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Name erforderlich"
  228. "alias</b>"
  229. ),
  230. "alias_removed": (
  231. "<emoji document_id=5368324170671202286>👍</emoji> <b>Alias</b>"
  232. " <code>{}</code> <b>gelöscht</b>."
  233. ),
  234. "no_alias": (
  235. "<emoji document_id=5436162517686557387>🚫</emoji><b>Alias</b>"
  236. " <code>{}</code> <b>existiert nicht</b>"
  237. ),
  238. "db_cleared": (
  239. "<emoji document_id=5368324170671202286>👍</emoji><b>Basis gelöscht</b>"
  240. ),
  241. "hikka": (
  242. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>Version:"
  243. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji> <b>Build:"
  244. " </b><i>{}</i>\n\n<emoji document_id=5233346091725888979>⚙️</emoji>"
  245. " <b>Hikka-TL: </b><i>{}</i>\n\n<emoji"
  246. "document_id=5454182070156794055>⌨️</emoji> <b>Entwickler:"
  247. "t.me/hikariatama</b>"
  248. ),
  249. "_cls_doc": "Verwaltung der Grundeinstellungen des Userbots",
  250. "confirm_cleardb": (
  251. "⚠️ <b>Sind Sie sicher, dass Sie die Datenbank zurücksetzen möchten?</b>"
  252. ),
  253. "cleardb_confirm": "🗑 Basis löschen",
  254. "cancel": "🚫 Stornieren",
  255. "who_to_blacklist": (
  256. "<emoji document_id=5384612769716774600>❓</emoji> <b>Zu blockierende"
  257. " Personendann?"
  258. ),
  259. "who_to_unblacklist": (
  260. "<emoji document_id=5384612769716774600>❓</emoji> <b>Wen entsperrendann?"
  261. ),
  262. "unstable": (
  263. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>Sie verwenden"
  264. "instabiler Zweig </b><code>{}</code><b>!</b>"
  265. ),
  266. }
  267. strings_tr = {
  268. "too_many_args": (
  269. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Çok fazla"
  270. " argümanlar</b>"
  271. ),
  272. "blacklisted": (
  273. "<emoji document_id=5368324170671202286>👍</emoji> <b>Sohbet {} eklendi"
  274. "userbot kara listesi</b>"
  275. ),
  276. "unblacklisted": (
  277. "<emoji document_id=5368324170671202286>👍</emoji> <b>Sohbet {} şuradan"
  278. " kaldırıldıUserbot Kara Listesi</b>"
  279. ),
  280. "user_blacklisted": (
  281. "<emoji document_id=5368324170671202286>👍</emoji> <b>Kullanıcı {}"
  282. " userbot tarafından kara listeye alındı</b>"
  283. ),
  284. "user_unblacklisted": (
  285. "<emoji document_id=5368324170671202286>👍</emoji> <b>Kullanıcı {}"
  286. " userbot kara listesinden kaldırıldı</b>"
  287. ),
  288. "what_prefix": "❓ <b>Hangi öneki ayarlamalıyım?</b>",
  289. "prefix_incorrect": (
  290. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Önek olmalıdır"
  291. "sadece bir karakterden oluşur</b>"
  292. ),
  293. "prefix_set": (
  294. "<emoji document_id=5368324170671202286>👍</emoji> <b>Önek güncellendi."
  295. " Geri vermek için,</b> <code>{newprefix}setprefix'i kullanın"
  296. "{oldprefix}</code>"
  297. ),
  298. "alias_created": (
  299. "<emoji document_id=5368324170671202286>👍</emoji> <b>Takma ad"
  300. " oluşturuldu.</b> <code>{}</code> yoluyla kullanın"
  301. ),
  302. "aliases": "<b>🔗 Takma adlar:</b>\n",
  303. "no_command": (
  304. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Komut</b>"
  305. " <code>{}</code> <b>yok</b>"
  306. ),
  307. "alias_args": (
  308. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Gerekli girin"
  309. "komut ve bunun için takma ad</b>"
  310. ),
  311. "delalias_args": (
  312. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Ad gereklitakma ad</b>"
  313. ),
  314. "alias_removed": (
  315. "<emoji document_id=5368324170671202286>👍</emoji> <b>Takma ad</b>"
  316. " <code>{}</code> <b>silindi</b>."
  317. ),
  318. "no_alias": (
  319. "<emoji document_id=5436162517686557387>🚫</emoji><b> Takma Ad</b>"
  320. " <code>{}</code> <b>yok</b>"
  321. ),
  322. "db_cleared": (
  323. "<emoji document_id=5368324170671202286>👍</emoji><b> Taban temizlendi</b>"
  324. ),
  325. "hikka": (
  326. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>Sürüm:"
  327. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji> <b>Yapı:"
  328. " </b><i>{}</i>\n\n<emoji document_id=5233346091725888979>⚙️</emoji>"
  329. " <b>Hikka-TL: </b><i>{}</i>\n\n<emoji"
  330. "document_id=5454182070156794055>⌨️</emoji> <b>Geliştirici:"
  331. "t.me/hikariatama</b>"
  332. ),
  333. "_cls_doc": "Userbot temel ayar yönetimi",
  334. "confirm_cleardb": (
  335. "⚠️ <b>Veritabanını sıfırlamak istediğinizden emin misiniz?</b>"
  336. ),
  337. "cleardb_confirm": "🗑 Tabanı temizle",
  338. "cancel": "🚫 İptal",
  339. "who_to_blacklist": (
  340. "<emoji document_id=5384612769716774600>❓</emoji> <b>Kimler engellenir"
  341. "sonra?</b>"
  342. ),
  343. "who_to_unblacklist": (
  344. "<emoji document_id=5384612769716774600>❓</emoji> <b>Kimin engellemesi"
  345. " kaldırılırsonra?</b>"
  346. ),
  347. "unstable": (
  348. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>Kullanıyorsunuz"
  349. "kararsız dal </b><code>{}</code><b>!</b>"
  350. ),
  351. }
  352. strings_hi = {
  353. "too_many_args": (
  354. "<emoji document_id=5436162517686557387>🚫</emoji> <b>बहुत अधिकतर्क</b>"
  355. ),
  356. "blacklisted": (
  357. "<emoji document_id=5368324170671202286>👍</emoji> <b>चैट {} इसमें जोड़ा"
  358. " गयायूजरबॉट ब्लैकलिस्ट</b>"
  359. ),
  360. "unblacklisted": (
  361. "<emoji document_id=5368324170671202286>👍</emoji> <b>चैट {} से हटा दिया"
  362. " गयायूजरबॉट ब्लैकलिस्ट</b>"
  363. ),
  364. "user_blacklisted": (
  365. "<emoji document_id=5368324170671202286>👍</emoji> <b>उपयोगकर्ता {}"
  366. "userbot द्वारा काली सूची में डाला गया</b>"
  367. ),
  368. "user_unblacklisted": (
  369. "<emoji document_id=5368324170671202286>👍</emoji> <b>उपयोगकर्ता {}"
  370. "userbot ब्लैकलिस्ट से हटाया गया</b>"
  371. ),
  372. "what_prefix": "❓ <b>मुझे कौन सा उपसर्ग सेट करना चाहिए?</b>",
  373. "prefix_incorrect": (
  374. "<emoji document_id=5436162517686557387>🚫</emoji> <b>उपसर्ग अवश्य होना"
  375. " चाहिएकेवल एक वर्ण से मिलकर बनता है</b>"
  376. ),
  377. "prefix_set": (
  378. "<emoji document_id=5368324170671202286>👍</emoji> <b>उपसर्ग अपडेट किया"
  379. " गया। इसे वापस करने के लिए, उपयोग करें</b>"
  380. " <code>{newprefix}setprefix{oldprefix}</code>"
  381. ),
  382. "alias_created": (
  383. "<emoji document_id=5368324170671202286>👍</emoji> <b>उपनाम बनाया गया।"
  384. "</b> <code>{}</code> के माध्यम से इसका उपयोग करें"
  385. ),
  386. "aliases": "<b>🔗 उपनाम:</b>\n",
  387. "no_command": (
  388. "<emoji document_id=5436162517686557387>🚫</emoji> <b>कमांड</b>"
  389. " <code>{}</code> <b>मौजूद नहीं है</b>"
  390. ),
  391. "alias_args": (
  392. "<emoji document_id=5436162517686557387>🚫</emoji> <b>आवश्यक दर्ज करें"
  393. "इसके लिए आदेश और उपनाम</b>"
  394. ),
  395. "delalias_args": (
  396. "<emoji document_id=5436162517686557387>🚫</emoji> <b>नाम की आवश्यकता है"
  397. "उपनाम</b>"
  398. ),
  399. "alias_removed": (
  400. "<emoji document_id=5368324170671202286>👍</emoji> <b>उपनाम</b>"
  401. " <code>{}</code> <b>हटाया</b>।"
  402. ),
  403. "no_alias": (
  404. "<emoji document_id=5436162517686557387>🚫</emoji><b> उपनाम</b>"
  405. " <code>{}</code> <b>मौजूद नहीं है</b>"
  406. ),
  407. "db_cleared": (
  408. "<emoji document_id=5368324170671202286>👍</emoji><b> आधार साफ़ हो गया</b>"
  409. ),
  410. "hikka": (
  411. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>वर्शन:"
  412. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji> <b>बिल्ड:"
  413. " </b><i>{}</i>\n\n<emoji document_id=5233346091725888979>⚙️</emoji>"
  414. " <b>हिक्का-टीएल: </b><i>{}</i>\n\n<emoji"
  415. "document_id=5454182070156794055>⌨️</emoji> <b>डेवलपर:"
  416. "t.me/hikariatama</b>"
  417. ),
  418. "_cls_doc": "Userbot मूलभूत सेटिंग प्रबंधन",
  419. "confirm_cleardb": "⚠️ <b>क्या आप वाकई डेटाबेस को रीसेट करना चाहते हैं?</b>",
  420. "cleardb_confirm": "🗑 आधार साफ़ करें",
  421. "cancel": "🚫 रद्द करें",
  422. "who_to_blacklist": (
  423. "<emoji document_id=5384612769716774600>❓</emoji> <b>किसे ब्लॉक करना है"
  424. "तो?</b>"
  425. ),
  426. "who_to_unblacklist": (
  427. "<emoji document_id=5384612769716774600>❓</emoji> <b>किसको अनब्लॉक करना है"
  428. "तो?</b>"
  429. ),
  430. "unstable": (
  431. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>आप उपयोग कर रहे"
  432. " हैंअस्थिर शाखा </b><code>{}</code><b>!</b>"
  433. ),
  434. }
  435. strings_uz = {
  436. "too_many_args": (
  437. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Juda ko'p"
  438. " argumentlar</b>"
  439. ),
  440. "blacklisted": (
  441. "<emoji document_id=5368324170671202286>👍</emoji> <b>Chat {} qo'shildi"
  442. " userbot qora ro' yxati</b>"
  443. ),
  444. "unblacklisted": (
  445. "<emoji document_id=5368324170671202286>👍</emoji> <b>Chat {} o'chirildi"
  446. "Userbot qora ro'yxati</b>"
  447. ),
  448. "user_blacklisted": (
  449. "<emoji document_id=5368324170671202286>👍</emoji> <b>Foydalanuvchi {}"
  450. " userbot tomonidan qora ro'yxatga kiritilgan</b>"
  451. ),
  452. "user_unblacklisted": (
  453. "<emoji document_id=5368324170671202286>👍</emoji> <b>Foydalanuvchi {}"
  454. " userbot qora ro'yxatidan olib tashlandi</b>"
  455. ),
  456. "what_prefix": "❓ <b>Qaysi prefiksni o'rnatishim kerak?</b>",
  457. "prefix_incorrect": (
  458. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Prefiks kerak"
  459. "faqat bitta belgidan iborat</b>"
  460. ),
  461. "prefix_set": (
  462. "<emoji document_id=5368324170671202286>👍</emoji> <b>Prefiks yangilandi."
  463. " Uni qaytarish uchun</b> <code>{newprefix}setprefix dan foydalaning."
  464. "{oldprefix}</code>"
  465. ),
  466. "alias_created": (
  467. "<emoji document_id=5368324170671202286>👍</emoji> <b>Taxallus yaratildi."
  468. "</b> <code>{}</code> orqali foydalaning"
  469. ),
  470. "aliases": "<b>🔗 Taxalluslar:</b>\n",
  471. "no_command": (
  472. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Buyruq</b>"
  473. " <code>{}</code> <b>mavjud</b>"
  474. ),
  475. "alias_args": (
  476. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Kirish kerak"
  477. "buyruq va uning taxallusi</b>"
  478. ),
  479. "delalias_args": (
  480. "<emoji document_id=5436162517686557387>🚫</emoji> <b>Ism keraktaxallus</b>"
  481. ),
  482. "alias_removed": (
  483. "<emoji document_id=5368324170671202286>👍</emoji> <b>Taxallus</b>"
  484. " <code>{}</code> <b>o'chirildi</b>."
  485. ),
  486. "no_alias": (
  487. "<emoji document_id=5436162517686557387>🚫</emoji><b> Taxallus</b>"
  488. " <code>{}</code> <b>mavjud</b>"
  489. ),
  490. "db_cleared": (
  491. "<emoji document_id=5368324170671202286>👍</emoji><b> Baza tozalandi</b>"
  492. ),
  493. "hikka": (
  494. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>Versiya:"
  495. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji>"
  496. " <b>Yaratish: </b><i>{}</i>\n\n<emoji"
  497. " document_id=5233346091725888979>⚙️</emoji> <b>Hikka-TL:"
  498. " </b><i>{}</i>\n\n<emojidocument_id=5454182070156794055>⌨️</emoji>"
  499. " <b>Ishlab chiquvchi: t.me/hikariatama</b>"
  500. ),
  501. "_cls_doc": "Userbot asosiy sozlamalarini boshqarish",
  502. "confirm_cleardb": (
  503. "⚠️ <b>Siz maʼlumotlar bazasini qayta o'rnatmoqchimisiz?</b>"
  504. ),
  505. "cleardb_confirm": "🗑 Bazani tozalash",
  506. "cancel": "🚫 Bekor qilish",
  507. "who_to_blacklist": (
  508. "<emoji document_id=5384612769716774600>❓</emoji> <b>Kimni bloklash kerak"
  509. "keyin?</b>"
  510. ),
  511. "who_to_unblacklist": (
  512. "<emoji document_id=5384612769716774600>❓</emoji> <b>Kimni blokdan"
  513. " chiqarish kerakkeyin?</b>"
  514. ),
  515. "unstable": (
  516. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>Siz"
  517. " foydalanayotgan versiya </b><code>{}</code><b>!</b>"
  518. ),
  519. }
  520. strings_ja = {
  521. "too_many_args": (
  522. "<emoji document_id=5436162517686557387>🚫</emoji> <b>引数が多すぎます</b>"
  523. ),
  524. "blacklisted": (
  525. "<emoji document_id=5368324170671202286>👍</emoji> <b>チャット {} は"
  526. " ユーザーボットのブラックリストに追加されました</b>"
  527. ),
  528. "unblacklisted": (
  529. "<emoji document_id=5368324170671202286>👍</emoji> <b>チャット {} は"
  530. " ユーザーボットのブラックリストから削除されました</b>"
  531. ),
  532. "user_blacklisted": (
  533. "<emoji document_id=5368324170671202286>👍</emoji> <b>ユーザー {} は"
  534. " ユーザーボットによってブラックリストに追加されました</b>"
  535. ),
  536. "user_unblacklisted": (
  537. "<emoji document_id=5368324170671202286>👍</emoji> <b>ユーザー {} は"
  538. " ユーザーボットによってブラックリストから削除されました</b>"
  539. ),
  540. "what_prefix": "❓ <b>どのプレフィックスを設定する必要がありますか?</b>",
  541. "prefix_incorrect": (
  542. "<emoji document_id=5436162517686557387>🚫</emoji> <b>プレフィックスは"
  543. "1文字だけでなければなりません</b>"
  544. ),
  545. "prefix_set": (
  546. "<emoji document_id=5368324170671202286>👍</emoji> <b>プレフィックスが"
  547. "更新されました。新しいプレフィックスは</b> <code>{newprefix}setprefix"
  548. " {oldprefix}</code> <b>を使用してリセットできます</b>"
  549. ),
  550. "alias_created": (
  551. "<emoji document_id=5368324170671202286>👍</emoji> <b>エイリアス</b>"
  552. " <code>{}</code> <b>が作成されました</b>"
  553. ),
  554. "alias_exists": (
  555. "<emoji document_id=5436162517686557387>🚫</emoji> <b>エイリアス</b>"
  556. " <code>{}</code> <b>は既に存在します</b>"
  557. ),
  558. "aliases": "<b>🔗 エイリアス:</b>\n",
  559. "no_command": (
  560. "<emoji document_id=5436162517686557387>🚫</emoji> <b>コマンド</b>"
  561. " <code>{}</code> <b>は存在しません</b>"
  562. ),
  563. "alias_args": (
  564. "<emoji document_id=5436162517686557387>🚫</emoji> <b>コマンドとそのエイリアスが必要です</b>"
  565. ),
  566. "delalias_args": (
  567. "<emoji document_id=5436162517686557387>🚫</emoji> <b>エイリアス名が必要です</b>"
  568. ),
  569. "alias_removed": (
  570. "<emoji document_id=5368324170671202286>👍</emoji> <b>エイリアス</b>"
  571. " <code>{}</code> <b>が削除されました</b>"
  572. ),
  573. "no_alias": (
  574. "<emoji document_id=5436162517686557387>🚫</emoji><b> エイリアス</b>"
  575. " <code>{}</code> <b>は存在しません</b>"
  576. ),
  577. "db_cleared": (
  578. "<emoji document_id=5368324170671202286>👍</emoji><b> データベースがクリアされました</b>"
  579. ),
  580. "hikka": (
  581. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>バージョン:"
  582. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji>"
  583. " <b>ビルド: </b><i>{}</i>\n\n<emoji"
  584. " document_id=5233346091725888979>⚙️</emoji> <b>Hikka-TL:"
  585. " </b><i>{}</i>\n\n<emojidocument_id=5454182070156794055>⌨️</emoji>"
  586. " <b>開発者: t.me/hikariatama</b>"
  587. ),
  588. "_cls_doc": "ユーザーボットの基本設定を管理します",
  589. "confirm_cleardb": "⚠️ <b>データベースをリセットしますか?</b>",
  590. "cleardb_confirm": "🗑 データベースをクリア",
  591. "cancel": "🚫 キャンセル",
  592. "who_to_blacklist": (
  593. "<emoji document_id=5384612769716774600>❓</emoji> <b>誰をブロックしますか?</b>"
  594. ),
  595. "who_to_unblacklist": (
  596. "<emoji document_id=5384612769716774600>❓</emoji> <b>誰をブロック解除しますか?</b>"
  597. ),
  598. "unstable": (
  599. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>あなたは"
  600. "使用しているバージョン </b><code>{}</code><b>!</b>"
  601. ),
  602. }
  603. strings_kr = {
  604. "chat_blacklisted": (
  605. "<emoji document_id=5368324170671202286>👍</emoji> <b>채팅 {} 은"
  606. " 사용자 봇에 의해 블랙리스트에 추가되었습니다</b>"
  607. ),
  608. "chat_unblacklisted": (
  609. "<emoji document_id=5368324170671202286>👍</emoji> <b>채팅 {} 은"
  610. " 사용자 봇에 의해 블랙리스트에서 제거되었습니다</b>"
  611. ),
  612. "user_blacklisted": (
  613. "<emoji document_id=5368324170671202286>👍</emoji> <b>사용자 {} 은"
  614. " 사용자 봇에 의해 블랙리스트에 추가되었습니다</b>"
  615. ),
  616. "user_unblacklisted": (
  617. "<emoji document_id=5368324170671202286>👍</emoji> <b>사용자 {} 은"
  618. " 사용자 봇에 의해 블랙리스트에서 제거되었습니다</b>"
  619. ),
  620. "what_prefix": "❓ <b>어떤 접두사를 설정해야 합니까?</b>",
  621. "prefix_incorrect": (
  622. "<emoji document_id=5436162517686557387>🚫</emoji> <b>접두사는1개의 문자만 가능합니다</b>"
  623. ),
  624. "prefix_set": (
  625. "<emoji document_id=5368324170671202286>👍</emoji> <b>접두사가"
  626. "업데이트되었습니다. 새로운 접두사는</b> <code>{newprefix}setprefix"
  627. " {oldprefix}</code> <b>를 사용하여 초기화할 수 있습니다</b>"
  628. ),
  629. "alias_created": (
  630. "<emoji document_id=5368324170671202286>👍</emoji> <b>별칭</b>"
  631. " <code>{}</code> <b>이(가) 생성되었습니다</b>"
  632. ),
  633. "alias_deleted": (
  634. "<emoji document_id=5368324170671202286>👍</emoji> <b>별칭</b>"
  635. " <code>{}</code> <b>이(가) 삭제되었습니다</b>"
  636. ),
  637. "no_alias": (
  638. "<emoji document_id=5436162517686557387>🚫</emoji><b> 별칭</b>"
  639. " <code>{}</code> <b>이(가) 존재하지 않습니다</b>"
  640. ),
  641. "db_cleared": (
  642. "<emoji document_id=5368324170671202286>👍</emoji><b> 데이터베이스가 초기화되었습니다</b>"
  643. ),
  644. "hikka": (
  645. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>버전:"
  646. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji>"
  647. " <b>빌드: </b><i>{}</i>\n\n<emoji"
  648. " document_id=5233346091725888979>⚙️</emoji> <b>Hikka-TL:"
  649. " </b><i>{}</i>\n\n<emojidocument_id=5454182070156794055>⌨️</emoji>"
  650. " <b>개발자: t.me/hikariatama</b>"
  651. ),
  652. "_cls_doc": "사용자 봇의 기본 설정을 관리합니다",
  653. "confirm_cleardb": "⚠️ <b>데이터베이스를 초기화 하시겠습니까?</b>",
  654. "cleardb_confirm": "🗑 데이터베이스 초기화",
  655. "cancel": "🚫 취소",
  656. "who_to_blacklist": (
  657. "<emoji document_id=5384612769716774600>❓</emoji> <b>누구를 블랙리스트에 추가할까요?</b>"
  658. ),
  659. "who_to_unblacklist": (
  660. "<emoji document_id=5384612769716774600>❓</emoji> <b>누구를 블락 해제 할까요?</b>"
  661. ),
  662. "unstable": (
  663. "\n\n<emoji document_id=5467370583282950466>🙈</emoji> <b>사용하는 버전이"
  664. " 있습니다</b><code>{}</code><b>!</b>"
  665. ),
  666. }
  667. strings_ar = {
  668. "chat_blacklisted": (
  669. "<emoji document_id=5368324170671202286>👍</emoji> <b>تمت إضافة الدردشة"
  670. " {} إلى قائمة الحظر</b>"
  671. ),
  672. "chat_unblacklisted": (
  673. "<emoji document_id=5368324170671202286>👍</emoji> <b>تمت إزالة الدردشة"
  674. " {} من قائمة الحظر</b>"
  675. ),
  676. "user_blacklisted": (
  677. "<emoji document_id=5368324170671202286>👍</emoji> <b>تمت إضافة المستخدم"
  678. " {} إلى قائمة الحظر</b>"
  679. ),
  680. "user_unblacklisted": (
  681. "<emoji document_id=5368324170671202286>👍</emoji> <b>تمت إزالة المستخدم"
  682. " {} من قائمة الحظر</b>"
  683. ),
  684. "what_prefix": "❓ <b>ما هو البادئة التي تريد تعيينها؟</b>",
  685. "prefix_incorrect": (
  686. "<emoji document_id=5436162517686557387>🚫</emoji> <b>يجب أن يكون البادئة"
  687. " محرف واحد فقط</b>"
  688. ),
  689. "prefix_set": (
  690. "<emoji document_id=5368324170671202286>👍</emoji> <b>تم تعيين البادئة."
  691. " البادئة الجديدة هي</b> <code>{newprefix}setprefix {oldprefix}</code>"
  692. " <b>لإعادة تعيينها</b>"
  693. ),
  694. "alias_created": (
  695. "<emoji document_id=5368324170671202286>👍</emoji> <b>الاسم المستعار</b>"
  696. " <code>{}</code> <b>تم إنشاؤه</b>"
  697. ),
  698. "alias_deleted": (
  699. "<emoji document_id=5368324170671202286>👍</emoji> <b>الاسم المستعار</b>"
  700. " <code>{}</code> <b>تم حذفه</b>"
  701. ),
  702. "no_alias": (
  703. "<emoji document_id=5436162517686557387>🚫</emoji><b> الاسم المستعار</b>"
  704. " <code>{}</code> <b>غير موجود</b>"
  705. ),
  706. "db_cleared": (
  707. "<emoji document_id=5368324170671202286>👍</emoji><b>تم مسح قاعدة"
  708. " البيانات</b>"
  709. ),
  710. "hikka": (
  711. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>الإصدار:"
  712. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji>"
  713. " <b>البناء: </b><i>{}</i>\n\n<emoji"
  714. " document_id=5233346091725888979>⚙️</emoji> <b>Hikka-TL:"
  715. " </b><i>{}</i>\n\n<emojidocument_id=5454182070156794055>⌨️</emoji>"
  716. " <b>المطور: t.me/hikariatama</b>"
  717. ),
  718. "_cls_doc": "الإعدادات الأساسية لمستخدم البوت",
  719. "confirm_cleardb": "⚠️ <b>هل تريد مسح قاعدة البيانات؟</b>",
  720. "cleardb_confirm": "🗑 مسح قاعدة البيانات",
  721. }
  722. strings_es = {
  723. "chat_blacklisted": (
  724. "<emoji document_id=5368324170671202286>👍</emoji> <b>El chat {} ha sido"
  725. " añadido a la lista negra</b>"
  726. ),
  727. "chat_unblacklisted": (
  728. "<emoji document_id=5368324170671202286>👍</emoji> <b>El chat {} ha sido"
  729. " removido de la lista negra</b>"
  730. ),
  731. "user_blacklisted": (
  732. "<emoji document_id=5368324170671202286>👍</emoji> <b>El usuario {} ha sido"
  733. " añadido a la lista negra</b>"
  734. ),
  735. "user_unblacklisted": (
  736. "<emoji document_id=5368324170671202286>👍</emoji> <b>El usuario {} ha sido"
  737. " removido de la lista negra</b>"
  738. ),
  739. "what_prefix": "❓ <b>¿Cuál es el prefijo que quieres establecer?</b>",
  740. "prefix_incorrect": (
  741. "<emoji document_id=5436162517686557387>🚫</emoji> <b>El prefijo debe ser"
  742. " un solo carácter</b>"
  743. ),
  744. "prefix_set": (
  745. "<emoji document_id=5368324170671202286>👍</emoji> <b>El prefijo ha sido"
  746. " establecido. El nuevo prefijo es</b> <code>{newprefix}setprefix"
  747. " {oldprefix}</code> <b>para restablecerlo</b>"
  748. ),
  749. "alias_created": (
  750. "<emoji document_id=5368324170671202286>👍</emoji> <b>El alias</b>"
  751. " <code>{}</code> <b>ha sido creado</b>"
  752. ),
  753. "alias_deleted": (
  754. "<emoji document_id=5368324170671202286>👍</emoji> <b>El alias</b>"
  755. " <code>{}</code> <b>ha sido eliminado</b>"
  756. ),
  757. "no_alias": (
  758. "<emoji document_id=5436162517686557387>🚫</emoji><b> Alias</b>"
  759. " <code>{}</code> <b>no existe</b>"
  760. ),
  761. "db_cleared": (
  762. "<emoji document_id=5368324170671202286>👍</emoji><b>Base de datos"
  763. " borrada</b>"
  764. ),
  765. "hikka": (
  766. "{}\n\n<emoji document_id=5406931726184225260>🧐</emoji> <b>Versión:"
  767. " {}.{}.{}</b>\n<emoji document_id=6318902906900711458>🧱</emoji>"
  768. " <b>Build: </b><i>{}</i>\n\n<emoji"
  769. " document_id=5233346091725888979>⚙️</emoji> <b>Hikka-TL:"
  770. " </b><i>{}</i>\n\n<emojidocument_id=5454182070156794055>⌨️</emoji>"
  771. " <b>Desarrollador: t.me/hikariatama</b>"
  772. ),
  773. "_cls_doc": "Los ajustes básicos del usuario del bot",
  774. "confirm_cleardb": "⚠️ <b>¿Quieres borrar la base de datos?</b>",
  775. "cleardb_confirm": "🗑 Borrar base de datos",
  776. }
  777. async def blacklistcommon(self, message: Message):
  778. args = utils.get_args(message)
  779. if len(args) > 2:
  780. await utils.answer(message, self.strings("too_many_args"))
  781. return
  782. chatid = None
  783. module = None
  784. if args:
  785. try:
  786. chatid = int(args[0])
  787. except ValueError:
  788. module = args[0]
  789. if len(args) == 2:
  790. module = args[1]
  791. if chatid is None:
  792. chatid = utils.get_chat_id(message)
  793. module = self.allmodules.get_classname(module)
  794. return f"{str(chatid)}.{module}" if module else chatid
  795. @loader.command(
  796. ru_doc="Показать версию Hikka",
  797. de_doc="Zeige die Hikka-Version an",
  798. tr_doc="Hikka sürümünü gösterir",
  799. uz_doc="Hikka versiyasini ko'rsatish",
  800. hi_doc="Hikka का संस्करण दिखाएं",
  801. ja_doc="Hikkaのバージョンを表示します",
  802. kr_doc="Hikka 버전을 표시합니다",
  803. ar_doc="إظهار إصدار Hikka",
  804. es_doc="Mostrar la versión de Hikka",
  805. )
  806. async def hikkacmd(self, message: Message):
  807. """Get Hikka version"""
  808. await utils.answer(
  809. message,
  810. self.strings("hikka").format(
  811. (
  812. utils.get_platform_emoji(self._client)
  813. + (
  814. "<emoji document_id=5192756799647785066>✌️</emoji><emoji"
  815. " document_id=5193117564015747203>✌️</emoji><emoji"
  816. " document_id=5195050806105087456>✌️</emoji><emoji"
  817. " document_id=5195457642587233944>✌️</emoji>"
  818. if "LAVHOST" in os.environ
  819. else ""
  820. )
  821. )
  822. if self._client.hikka_me.premium and CUSTOM_EMOJIS
  823. else "🌘 <b>Hikka userbot</b>",
  824. *version.__version__,
  825. utils.get_commit_url(),
  826. f"{telethon.__version__} #{telethon.tl.alltlobjects.LAYER}",
  827. )
  828. + (
  829. ""
  830. if version.branch == "master"
  831. else self.strings("unstable").format(version.branch)
  832. ),
  833. )
  834. @loader.command(
  835. ru_doc="[чат] [модуль] - Отключить бота где-либо",
  836. de_doc="[chat] [Modul] - Deaktiviere den Bot irgendwo",
  837. tr_doc="[sohbet] [modül] - Botu herhangi bir yerde devre dışı bırakın",
  838. uz_doc="[chat] [modul] - Botni hozircha o'chirish",
  839. hi_doc="[चैट] [मॉड्यूल] - कहीं भी बॉट निष्क्रिय करें",
  840. ja_doc="[チャット] [モジュール] - ボットをどこかで無効にします",
  841. kr_doc="[채팅] [모듈] - 어디에서든 봇 비활성화",
  842. ar_doc="[دردشة] [وحدة] - تعطيل البوت في أي مكان",
  843. es_doc="[chat] [módulo] - Desactivar el bot en cualquier lugar",
  844. )
  845. async def blacklist(self, message: Message):
  846. """[chat_id] [module] - Blacklist the bot from operating somewhere"""
  847. chatid = await self.blacklistcommon(message)
  848. self._db.set(
  849. main.__name__,
  850. "blacklist_chats",
  851. self._db.get(main.__name__, "blacklist_chats", []) + [chatid],
  852. )
  853. await utils.answer(message, self.strings("blacklisted").format(chatid))
  854. @loader.command(
  855. ru_doc="[чат] - Включить бота где-либо",
  856. de_doc="[chat] - Aktiviere den Bot irgendwo",
  857. tr_doc="[sohbet] - Botu herhangi bir yerde etkinleştirin",
  858. uz_doc="[chat] - Botni hozircha yoqish",
  859. hi_doc="[चैट] - कहीं भी बॉट सक्रिय करें",
  860. ja_doc="[チャット] - ボットをどこかで有効にします",
  861. kr_doc="[채팅] - 어디에서든 봇을 활성화합니다",
  862. ar_doc="[دردشة] - تمكين البوت في أي مكان",
  863. es_doc="[chat] - Activar el bot en cualquier lugar",
  864. )
  865. async def unblacklist(self, message: Message):
  866. """<chat_id> - Unblacklist the bot from operating somewhere"""
  867. chatid = await self.blacklistcommon(message)
  868. self._db.set(
  869. main.__name__,
  870. "blacklist_chats",
  871. list(set(self._db.get(main.__name__, "blacklist_chats", [])) - {chatid}),
  872. )
  873. await utils.answer(message, self.strings("unblacklisted").format(chatid))
  874. async def getuser(self, message: Message):
  875. try:
  876. return int(utils.get_args(message)[0])
  877. except (ValueError, IndexError):
  878. reply = await message.get_reply_message()
  879. if reply:
  880. return reply.sender_id
  881. return message.to_id.user_id if message.is_private else False
  882. @loader.command(
  883. ru_doc="[пользователь] - Запретить пользователю выполнять команды",
  884. de_doc="[Benutzer] - Verbiete dem Benutzer, Befehle auszuführen",
  885. tr_doc="[kullanıcı] - Kullanıcıya komutları yürütmeyi yasakla",
  886. uz_doc="[foydalanuvchi] - Foydalanuvchiga buyruqlarni bajarishni taqiqlash",
  887. hi_doc="[उपयोगकर्ता] - उपयोगकर्ता को कमांड चलाने से रोकें",
  888. ja_doc="[ユーザー] - ユーザーにコマンドを実行することを禁止します",
  889. kr_doc="[사용자] - 사용자에게 명령을 실행하도록 금지",
  890. ar_doc="[المستخدم] - منع المستخدم من تنفيذ الأوامر",
  891. es_doc="[usuario] - Prohibir al usuario ejecutar comandos",
  892. )
  893. async def blacklistuser(self, message: Message):
  894. """[user_id] - Prevent this user from running any commands"""
  895. user = await self.getuser(message)
  896. if not user:
  897. await utils.answer(message, self.strings("who_to_blacklist"))
  898. return
  899. self._db.set(
  900. main.__name__,
  901. "blacklist_users",
  902. self._db.get(main.__name__, "blacklist_users", []) + [user],
  903. )
  904. await utils.answer(message, self.strings("user_blacklisted").format(user))
  905. @loader.command(
  906. ru_doc="[пользователь] - Разрешить пользователю выполнять команды",
  907. de_doc="[Benutzer] - Erlaube dem Benutzer, Befehle auszuführen",
  908. tr_doc="[kullanıcı] - Kullanıcıya komutları yürütmeyi yasakla",
  909. uz_doc="[foydalanuvchi] - Foydalanuvchiga buyruqlarni bajarishni taqiqlash",
  910. hi_doc="[उपयोगकर्ता] - उपयोगकर्ता को कमांड चलाने से रोकें",
  911. ja_doc="[ユーザー] - ユーザーにコマンドを実行することを禁止します",
  912. kr_doc="[사용자] - 사용자에게 명령을 실행하도록 금지",
  913. ar_doc="[المستخدم] - منع المستخدم من تنفيذ الأوامر",
  914. es_doc="[usuario] - Prohibir al usuario ejecutar comandos",
  915. )
  916. async def unblacklistuser(self, message: Message):
  917. """[user_id] - Allow this user to run permitted commands"""
  918. user = await self.getuser(message)
  919. if not user:
  920. await utils.answer(message, self.strings("who_to_unblacklist"))
  921. return
  922. self._db.set(
  923. main.__name__,
  924. "blacklist_users",
  925. list(set(self._db.get(main.__name__, "blacklist_users", [])) - {user}),
  926. )
  927. await utils.answer(
  928. message,
  929. self.strings("user_unblacklisted").format(user),
  930. )
  931. @loader.owner
  932. @loader.command(
  933. ru_doc="<префикс> - Установить префикс команд",
  934. de_doc="<Präfix> - Setze das Befehlspräfix",
  935. tr_doc="<önek> - Komut öneki ayarla",
  936. uz_doc="<avvalgi> - Buyruqlar uchun avvalgi belgilash",
  937. hi_doc="<उपसर्ग> - कमांड उपसर्ग सेट करें",
  938. ja_doc="<プレフィックス> - コマンドのプレフィックスを設定します",
  939. kr_doc="<접두사> - 명령 접두사 설정",
  940. ar_doc="<بادئة> - تعيين بادئة الأوامر",
  941. es_doc="<prefijo> - Establecer el prefijo de comandos",
  942. )
  943. async def setprefix(self, message: Message):
  944. """<prefix> - Sets command prefix"""
  945. args = utils.get_args_raw(message)
  946. if not args:
  947. await utils.answer(message, self.strings("what_prefix"))
  948. return
  949. if len(args) != 1:
  950. await utils.answer(message, self.strings("prefix_incorrect"))
  951. return
  952. oldprefix = self.get_prefix()
  953. self._db.set(main.__name__, "command_prefix", args)
  954. await utils.answer(
  955. message,
  956. self.strings("prefix_set").format(
  957. newprefix=utils.escape_html(args[0]),
  958. oldprefix=utils.escape_html(oldprefix),
  959. ),
  960. )
  961. @loader.owner
  962. @loader.command(
  963. ru_doc="Показать список алиасов",
  964. de_doc="Zeige Aliase",
  965. tr_doc="Takma adları göster",
  966. uz_doc="Aliaslarni ko'rsatish",
  967. hi_doc="उपनामों की सूची दिखाएं",
  968. ja_doc="エイリアスを表示します",
  969. kr_doc="별칭 목록 표시",
  970. ar_doc="إظهار قائمة الأسماء المستعارة",
  971. es_doc="Mostrar lista de alias",
  972. )
  973. async def aliases(self, message: Message):
  974. """Print all your aliases"""
  975. aliases = self.allmodules.aliases
  976. string = self.strings("aliases")
  977. string += "\n".join(
  978. [f"▫️ <code>{i}</code> &lt;- {y}" for i, y in aliases.items()]
  979. )
  980. await utils.answer(message, string)
  981. @loader.owner
  982. @loader.command(
  983. ru_doc="Установить алиас для команды",
  984. de_doc="Setze einen Alias für einen Befehl",
  985. tr_doc="Bir komut için takma ad ayarla",
  986. uz_doc="Buyrug' uchun alias belgilash",
  987. hi_doc="एक कमांड के लिए उपनाम सेट करें",
  988. ja_doc="コマンドのエイリアスを設定します",
  989. kr_doc="명령에 대한 별칭 설정",
  990. ar_doc="تعيين اسم مستعار للأمر",
  991. es_doc="Establecer alias para el comando",
  992. )
  993. async def addalias(self, message: Message):
  994. """Set an alias for a command"""
  995. args = utils.get_args(message)
  996. if len(args) != 2:
  997. await utils.answer(message, self.strings("alias_args"))
  998. return
  999. alias, cmd = args
  1000. if self.allmodules.add_alias(alias, cmd):
  1001. self.set(
  1002. "aliases",
  1003. {
  1004. **self.get("aliases", {}),
  1005. alias: cmd,
  1006. },
  1007. )
  1008. await utils.answer(
  1009. message,
  1010. self.strings("alias_created").format(utils.escape_html(alias)),
  1011. )
  1012. else:
  1013. await utils.answer(
  1014. message,
  1015. self.strings("no_command").format(utils.escape_html(cmd)),
  1016. )
  1017. @loader.owner
  1018. @loader.command(
  1019. ru_doc="Удалить алиас для команды",
  1020. de_doc="Entferne einen Alias für einen Befehl",
  1021. tr_doc="Bir komut için takma ad kaldır",
  1022. uz_doc="Buyrug' uchun aliasni o'chirish",
  1023. hi_doc="एक कमांड के लिए उपनाम हटाएं",
  1024. ja_doc="コマンドのエイリアスを削除します",
  1025. kr_doc="명령에 대한 별칭 제거",
  1026. ar_doc="إزالة اسم مستعار للأمر",
  1027. es_doc="Eliminar alias para el comando",
  1028. )
  1029. async def delalias(self, message: Message):
  1030. """Remove an alias for a command"""
  1031. args = utils.get_args(message)
  1032. if len(args) != 1:
  1033. await utils.answer(message, self.strings("delalias_args"))
  1034. return
  1035. alias = args[0]
  1036. removed = self.allmodules.remove_alias(alias)
  1037. if not removed:
  1038. await utils.answer(
  1039. message,
  1040. self.strings("no_alias").format(utils.escape_html(alias)),
  1041. )
  1042. return
  1043. current = self.get("aliases", {})
  1044. del current[alias]
  1045. self.set("aliases", current)
  1046. await utils.answer(
  1047. message,
  1048. self.strings("alias_removed").format(utils.escape_html(alias)),
  1049. )
  1050. @loader.owner
  1051. @loader.command(
  1052. ru_doc="Очистить базу данных",
  1053. de_doc="Datenbank leeren",
  1054. tr_doc="Veritabanını temizle",
  1055. uz_doc="Ma'lumotlar bazasini tozalash",
  1056. hi_doc="डेटाबेस साफ़ करें",
  1057. ja_doc="データベースをクリアします",
  1058. kr_doc="데이터베이스 지우기",
  1059. ar_doc="مسح قاعدة البيانات",
  1060. es_doc="Limpiar la base de datos",
  1061. )
  1062. async def cleardb(self, message: Message):
  1063. """Clear the entire database, effectively performing a factory reset"""
  1064. await self.inline.form(
  1065. self.strings("confirm_cleardb"),
  1066. message,
  1067. reply_markup=[
  1068. {
  1069. "text": self.strings("cleardb_confirm"),
  1070. "callback": self._inline__cleardb,
  1071. },
  1072. {
  1073. "text": self.strings("cancel"),
  1074. "action": "close",
  1075. },
  1076. ],
  1077. )
  1078. async def _inline__cleardb(self, call: InlineCall):
  1079. self._db.clear()
  1080. self._db.save()
  1081. await utils.answer(call, self.strings("db_cleared"))