Queer European MD passionate about IT

messages.py 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648
  1. """Default messages for bot functions."""
  2. default_admin_messages = {
  3. 'db_command': {
  4. 'description': {
  5. 'en': "Ask for bot database via Telegram",
  6. 'it': "Ricevi il database del bot via Telegram"
  7. },
  8. 'not_sqlite': {
  9. 'en': "Only SQLite databases may be sent via Telegram, since they "
  10. "are single-file databases.\n"
  11. "This bot has a `{db_type}` database.",
  12. 'it': "Via Telegram possono essere inviati solo database SQLite, "
  13. "in quanto composti di un solo file.\n"
  14. "Questo bot ha invece un database `{db_type}`."
  15. },
  16. 'file_caption': {
  17. 'en': "Here is bot database.",
  18. 'it': "Ecco il database!"
  19. },
  20. 'db_sent': {
  21. 'en': "Database sent.",
  22. 'it': "Database inviato."
  23. }
  24. },
  25. 'errors_command': {
  26. 'description': {
  27. 'en': "Receive bot error log file, if set",
  28. 'it': "Ricevi il file di log degli errori del bot, se impostato"
  29. },
  30. 'no_log': {
  31. 'en': "Sorry but no errors log file is set.\n"
  32. "To set it, use `bot.set_errors_file_name` instance method"
  33. "or `Bot.set_class_errors_file_name` class method.",
  34. 'it': "Spiacente ma il file di log degli errori non è stato "
  35. "impostato.\n"
  36. "Per impostarlo, usa il metodo d'istanza "
  37. "`bot.set_errors_file_name` o il metodo di classe"
  38. "`Bot.set_class_errors_file_name`."
  39. },
  40. 'empty_log': {
  41. 'en': "Congratulations! Errors log is empty!",
  42. 'it': "Congratulazioni! Il log degli errori è vuoto!"
  43. },
  44. 'sending_failure': {
  45. 'en': "Sending errors log file failed!\n\n"
  46. "<b>Error:</b>\n"
  47. "<code>{e}</code>",
  48. 'it': "Inviio del messaggio di log degli errori fallito!\n\n"
  49. "<b>Errore:</b>\n"
  50. "<code>{e}</code>"
  51. },
  52. 'here_is_log_file': {
  53. 'en': "Here is the complete errors log file.",
  54. 'it': "Ecco il file di log degli errori completo."
  55. },
  56. 'log_file_first_lines': {
  57. 'en': "Here are the first {lines} lines of the errors log file.",
  58. 'it': "Ecco le prime {lines} righe del file di log degli errori."
  59. },
  60. 'log_file_last_lines': {
  61. 'en': "Here are the last {lines} lines of the errors log file.\n"
  62. "Newer lines are at the top of the file.",
  63. 'it': "Ecco le ultime {lines} righe del file di log degli "
  64. "errori.\n"
  65. "L'ordine è cronologico, con i messaggi nuovi in alto."
  66. }
  67. },
  68. 'log_command': {
  69. 'description': {
  70. 'en': "Receive bot log file, if set",
  71. 'it': "Ricevi il file di log del bot, se impostato"
  72. },
  73. 'no_log': {
  74. 'en': "Sorry but no log file is set.\n"
  75. "To set it, use `bot.set_log_file_name` instance method or "
  76. "`Bot.set_class_log_file_name` class method.",
  77. 'it': "Spiacente ma il file di log non è stato impostato.\n"
  78. "Per impostarlo, usa il metodo d'istanza "
  79. "`bot.set_log_file_name` o il metodo di classe"
  80. "`Bot.set_class_log_file_name`."
  81. },
  82. 'sending_failure': {
  83. 'en': "Sending log file failed!\n\n"
  84. "<b>Error:</b>\n"
  85. "<code>{e}</code>",
  86. 'it': "Inviio del messaggio di log fallito!\n\n"
  87. "<b>Errore:</b>\n"
  88. "<code>{e}</code>"
  89. },
  90. 'here_is_log_file': {
  91. 'en': "Here is the complete log file.",
  92. 'it': "Ecco il file di log completo."
  93. },
  94. 'log_file_first_lines': {
  95. 'en': "Here are the first {lines} lines of the log file.",
  96. 'it': "Ecco le prime {lines} righe del file di log."
  97. },
  98. 'log_file_last_lines': {
  99. 'en': "Here are the last {lines} lines of the log file.\n"
  100. "Newer lines are at the top of the file.",
  101. 'it': "Ecco le ultime {lines} righe del file di log.\n"
  102. "L'ordine è cronologico, con i messaggi nuovi in alto."
  103. }
  104. },
  105. 'maintenance_command': {
  106. 'description': {
  107. 'en': "Put the bot under maintenance",
  108. 'it': "Metti il bot in manutenzione"
  109. },
  110. 'maintenance_started': {
  111. 'en': "<i>Bot has just been put under maintenance!</i>\n\n"
  112. "Until further notice, it will reply to users "
  113. "with the following message:\n\n"
  114. "{message}",
  115. 'it': "<i>Il bot è stato messo in manutenzione!</i>\n\n"
  116. "Fino a nuovo ordine, risponderà a tutti i comandi con il "
  117. "seguente messaggio\n\n"
  118. "{message}"
  119. },
  120. 'maintenance_ended': {
  121. 'en': "<i>Maintenance ended!</i>",
  122. 'it': "<i>Manutenzione terminata!</i>"
  123. }
  124. },
  125. 'new_version': {
  126. 'title': {
  127. 'en': "🔔 New version detected! 📰",
  128. 'it': "🔔 Rilevata nuova versione! 📰",
  129. },
  130. 'last_commit': {
  131. 'en': "Old commit: <code>{old_record[last_commit]}</code>\n"
  132. "New commit: <code>{new_record[last_commit]}</code>",
  133. 'it': "Vecchio commit: <code>{old_record[last_commit]}</code>\n"
  134. "Nuovo commit: <code>{new_record[last_commit]}</code>",
  135. },
  136. },
  137. 'query_button': {
  138. 'error': {
  139. 'en': "Error!",
  140. 'it': "Errore!",
  141. },
  142. 'file_name': {
  143. 'en': "Query result.csv",
  144. 'it': "Risultato della query.csv",
  145. },
  146. 'empty_file': {
  147. 'en': "No result to show.",
  148. 'it': "Nessun risultato da mostrare.",
  149. }
  150. },
  151. 'query_command': {
  152. 'description': {
  153. 'en': "Receive the result of a SQL query performed on bot "
  154. "database",
  155. 'it': "Ricevi il risultato di una query SQL sul database del bot"
  156. },
  157. 'help': {
  158. 'en': "Write a SQL query to be run on bot database.\n\n"
  159. "<b>Example</b>\n"
  160. "<code>/query SELECT * FROM users WHERE 0</code>",
  161. 'it': "Invia una query SQL da eseguire sul database del bot.\n\n"
  162. "<b>Esempio</b>\n"
  163. "<code>/query SELECT * FROM users WHERE 0</code>"
  164. },
  165. 'no_iterable': {
  166. 'en': "No result to show was returned",
  167. 'it': "La query non ha restituito risultati da mostrare"
  168. },
  169. 'exception': {
  170. 'en': "The query threw this error:",
  171. 'it': "La query ha dato questo errore:"
  172. },
  173. 'result': {
  174. 'en': "Query result",
  175. 'it': "Risultato della query"
  176. }
  177. },
  178. 'restart_command': {
  179. 'description': {
  180. 'en': "Restart bots",
  181. 'it': "Riavvia i bot"
  182. },
  183. 'restart_scheduled_message': {
  184. 'en': "Bots are being restarted, after pulling from repository.",
  185. 'it': "I bot verranno riavviati in pochi secondi, caricando "
  186. "prima le eventuali modifiche al codice."
  187. },
  188. 'restart_completed_message': {
  189. 'en': "<i>Restart was successful.</i>",
  190. 'it': "<i>Restart avvenuto con successo.</i>"
  191. }
  192. },
  193. 'select_command': {
  194. 'description': {
  195. 'en': "Receive the result of a SELECT query performed on bot "
  196. "database",
  197. 'it': "Ricevi il risultato di una query SQL di tipo SELECT "
  198. "sul database del bot"
  199. }
  200. },
  201. 'stop_button': {
  202. 'stop_text': {
  203. 'en': "Stop bots",
  204. 'it': "Ferma i bot"
  205. },
  206. 'cancel': {
  207. 'en': "Cancel",
  208. 'it': "Annulla"
  209. },
  210. 'confirm': {
  211. 'en': "Do you really want to stop all bots?",
  212. 'it': "Vuoi davvero fermare tutti i bot?"
  213. },
  214. 'stopping': {
  215. 'en': "Stopping bots...",
  216. 'it': "Arresto in corso..."
  217. },
  218. 'cancelled': {
  219. 'en': "Operation was cancelled",
  220. 'it': "Operazione annullata"
  221. }
  222. },
  223. 'stop_command': {
  224. 'description': {
  225. 'en': "Stop bots",
  226. 'it': "Ferma i bot"
  227. },
  228. 'text': {
  229. 'en': "Are you sure you want to stop all bots?\n"
  230. "To make them start again you will have to ssh-log "
  231. "in server.\n\n"
  232. "To restart the bots remotely use the /restart command "
  233. "instead (before starting over, a <code>git pull</code> "
  234. "is performed).",
  235. 'it': "Sei sicuro di voler fermare i bot?\n"
  236. "Per farli ripartire dovrai accedere al server.\n\n"
  237. "Per far ripartire i bot da remoto usa invece il comando "
  238. "/restart (prima di ripartire farò un "
  239. "<code>git pull</code>)."
  240. }
  241. },
  242. 'talk_command': {
  243. 'description': {
  244. 'en': "Choose a user and forward messages to each other",
  245. 'it': "Scegli un utente e il bot farà da tramite inoltrando a "
  246. "ognuno i messaggi dell'altro finché non terminerai la "
  247. "sessione"
  248. }
  249. },
  250. 'updates_available': {
  251. 'header': {
  252. 'en': "🔔 Updates available! ⬇️\n\n"
  253. "Click to /restart bot",
  254. 'it': "🔔 Aggiornamenti disponibili! ⬇\n\n"
  255. "Clicka qui per fare il /restart",
  256. },
  257. },
  258. 'version_command': {
  259. 'reply_keyboard_button': {
  260. 'en': "Version #️⃣",
  261. 'it': "Versione #️⃣",
  262. },
  263. 'description': {
  264. 'en': "Get source code version",
  265. 'it': "Chiedi la versione del codice sorgente",
  266. },
  267. 'help_section': None,
  268. 'result': {
  269. 'en': "Last commit: <code>{last_commit}</code>\n\n"
  270. "davtelepot version: <code>{davtelepot_version}</code>",
  271. 'it': "Ultimo commit: <code>{last_commit}</code>\n\n"
  272. "Versione di davtelepot: <code>{davtelepot_version}</code>",
  273. },
  274. },
  275. }
  276. default_authorization_messages = {
  277. 'auth_command': {
  278. 'description': {
  279. 'en': "Edit user permissions. To select a user, reply to "
  280. "a message of theirs or write their username",
  281. 'it': "Cambia il grado di autorizzazione di un utente "
  282. "(in risposta o scrivendone lo username)"
  283. },
  284. 'unhandled_case': {
  285. 'en': "<code>Unhandled case :/</code>",
  286. 'it': "<code>Caso non previsto :/</code>"
  287. },
  288. 'instructions': {
  289. 'en': "Reply with this command to a user or write "
  290. "<code>/auth username</code> to edit their permissions.",
  291. 'it': "Usa questo comando in risposta a un utente "
  292. "oppure scrivi <code>/auth username</code> per "
  293. "cambiarne il grado di autorizzazione."
  294. },
  295. 'unknown_user': {
  296. 'en': "Unknown user.",
  297. 'it': "Utente sconosciuto."
  298. },
  299. 'choose_user': {
  300. 'en': "{n} users match your query. Please select one.",
  301. 'it': "Ho trovato {n} utenti che soddisfano questi criteri.\n"
  302. "Per procedere selezionane uno."
  303. },
  304. 'no_match': {
  305. 'en': "No user matches your query. Please try again.",
  306. 'it': "Non ho trovato utenti che soddisfino questi criteri.\n"
  307. "Prova di nuovo."
  308. }
  309. },
  310. 'ban_command': {
  311. 'description': {
  312. 'en': "Reply to a user with /ban to ban them",
  313. 'it': "Banna l'utente (da usare in risposta)"
  314. }
  315. },
  316. 'auth_button': {
  317. 'description': {
  318. 'en': "Edit user permissions",
  319. 'it': "Cambia il grado di autorizzazione di un utente"
  320. },
  321. 'confirm': {
  322. 'en': "Are you sure?",
  323. 'it': "Sicuro sicuro?"
  324. },
  325. 'back_to_user': {
  326. 'en': "Back to user",
  327. 'it': "Torna all'utente"
  328. },
  329. 'permission_denied': {
  330. 'user': {
  331. 'en': "You cannot appoint this user!",
  332. 'it': "Non hai l'autorità di modificare i permessi di questo "
  333. "utente!"
  334. },
  335. 'role': {
  336. 'en': "You're not allowed to appoint someone to this role!",
  337. 'it': "Non hai l'autorità di conferire questo permesso!"
  338. }
  339. },
  340. 'no_change': {
  341. 'en': "No change suggested!",
  342. 'it': "È già così!"
  343. },
  344. 'appointed': {
  345. 'en': "Permission granted",
  346. 'it': "Permesso conferito"
  347. }
  348. },
  349. }
  350. default_authorization_denied_message = {
  351. 'en': "You are not allowed to use this command, sorry.",
  352. 'it': "Non disponi di autorizzazioni sufficienti per questa richiesta, spiacente.",
  353. }
  354. default_help_messages = {
  355. 'help_command': {
  356. 'header': {
  357. 'en': "<b>{bot.name} commands</b>\n\n"
  358. "{commands}",
  359. 'it': "<b>Comandi di {bot.name}</b>\n\n"
  360. "{commands}",
  361. },
  362. 'text': {
  363. 'en': "<b>Guide</b>",
  364. 'it': "<b>Guida</b>"
  365. },
  366. 'reply_keyboard_button': {
  367. 'en': "Help 📖",
  368. 'it': "Guida 📖"
  369. },
  370. 'description': {
  371. 'en': "Help",
  372. 'it': "Aiuto"
  373. },
  374. 'access_denied_message': {
  375. 'en': "Ask for authorization. If your request is accepted, send "
  376. "/help command again to read the guide.",
  377. 'it': "Chiedi di essere autorizzato: se la tua richiesta "
  378. "verrà accolta, ripeti il comando /help per leggere "
  379. "il messaggio di aiuto."
  380. },
  381. 'back_to_help_menu': {
  382. 'en': "Back to guide menu 📖",
  383. 'it': "Torna al menu Guida 📖",
  384. },
  385. },
  386. 'commands_button_label': {
  387. 'en': "Commands 🤖",
  388. 'it': "Comandi 🤖",
  389. },
  390. }
  391. default_language_messages = {
  392. 'language_command': {
  393. 'name': {
  394. 'en': "/language",
  395. 'it': "/lingua"
  396. },
  397. 'alias': {
  398. 'en': "Language 🗣",
  399. 'it': "Lingua 🗣"
  400. },
  401. 'reply_keyboard_button': {
  402. 'en': "Language 🗣",
  403. 'it': "Lingua 🗣"
  404. },
  405. 'description': {
  406. 'en': "Change language settings",
  407. 'it': "Cambia le impostazioni della lingua"
  408. }
  409. },
  410. 'language_button': {
  411. 'description': {
  412. 'en': "Change language settings",
  413. 'it': "Cambia le impostazioni della lingua"
  414. },
  415. 'language_set': {
  416. 'en': "Selected language: English 🇬🇧",
  417. 'it': "Lingua selezionata: Italiano 🇮🇹"
  418. }
  419. },
  420. 'language_panel': {
  421. 'text': {
  422. 'en': "<b>Choose a language</b>",
  423. 'it': "<b>Seleziona una lingua</b>"
  424. }
  425. }
  426. }
  427. default_suggestion_messages = {
  428. 'suggestions_command': {
  429. 'command': "/suggestion",
  430. 'aliases': [
  431. "/suggestions", "/ideas",
  432. "/suggerimento", "/suggerimenti", "idee"
  433. ],
  434. 'reply_keyboard_button': {
  435. 'en': "Ideas 💡",
  436. 'it': "Idee 💡"
  437. },
  438. 'description': {
  439. 'en': "Send a suggestion to help improve the bot",
  440. 'it': "Invia un suggerimento per aiutare a migliorare il bot"
  441. },
  442. 'prompt_text': {
  443. 'en': (
  444. "Send a suggestion to bot administrator.\n\n"
  445. "Maximum 1500 characters (extra ones will be ignored).\n"
  446. "If you need more space, you may create a telegra.ph topic and link it here.\n\n"
  447. "/cancel if you misclicked."
  448. ),
  449. 'it': (
  450. "Inserisci un suggerimento da inviare agli amministratori.\n\n"
  451. "Massimo 1500 caratteri (quelli in più non verranno registrati).\n"
  452. "Se ti serve maggiore libertà, puoi per esempio creare un topic "
  453. "su telegra.ph e linkarlo qui!\n\n"
  454. "/annulla se hai clickato per errore."
  455. ),
  456. },
  457. 'prompt_popup': {
  458. 'en': (
  459. "Send a suggestion"
  460. ),
  461. 'it': (
  462. "Inserisci un suggerimento"
  463. ),
  464. },
  465. 'entered_suggestion': {
  466. 'text': {
  467. 'en': (
  468. "Entered suggestions:\n\n"
  469. "<code>{suggestion}</code>\n\n"
  470. "Do you want to send it to bot administrators?"
  471. ),
  472. 'it': (
  473. "Suggerimento inserito:\n\n"
  474. "<code>{suggestion}</code>\n\n"
  475. "Vuoi inviarlo agli amministratori?"
  476. ),
  477. },
  478. 'buttons': {
  479. 'send': {
  480. 'en': "Send it! 📧",
  481. 'it': "Invia! 📧",
  482. },
  483. 'cancel': {
  484. 'en': "Cancel ❌",
  485. 'it': "Annulla ❌",
  486. },
  487. }
  488. },
  489. 'received_suggestion': {
  490. 'text': {
  491. 'en': (
  492. "💡 We received a new suggestion! 💡\n\n"
  493. "{user}\n\n"
  494. "<code>{suggestion}</code>\n\n"
  495. "#suggestions #{bot.name}"
  496. ),
  497. 'it': (
  498. "💡 Abbiamo ricevuto un nuovo suggerimento! 💡\n\n"
  499. "{user}\n\n"
  500. "<code>{suggestion}</code>\n\n"
  501. "#suggestions #{bot.name}"
  502. ),
  503. },
  504. 'buttons': {
  505. 'new': {
  506. 'en': "New suggestion 💡",
  507. 'it': "Nuovo suggerimento 💡",
  508. },
  509. },
  510. },
  511. 'invalid_suggestion': {
  512. 'en': "Invalid suggestion.",
  513. 'it': "Suggerimento non valido."
  514. },
  515. 'cancel_messages': {
  516. 'en': ['cancel'],
  517. 'it': ['annulla', 'cancella'],
  518. },
  519. 'operation_cancelled': {
  520. 'en': "Operation cancelled.",
  521. 'it': "Operazione annullata con successo.",
  522. },
  523. 'suggestion_sent': {
  524. 'popup': {
  525. 'en': "Thanks!",
  526. 'it': "Grazie!",
  527. },
  528. 'text': {
  529. 'en': (
  530. "💡 Suggestion sent, thank you! 💡\n\n"
  531. "<code>{suggestion}</code>\n\n"
  532. "#suggestions #{bot.name}"
  533. ),
  534. 'it': (
  535. "💡 Suggerimento inviato, grazie! 💡\n\n"
  536. "<code>{suggestion}</code>\n\n"
  537. "#suggerimenti #{bot.name}"
  538. ),
  539. },
  540. }
  541. },
  542. 'suggestions_button': {
  543. 'file_name': {
  544. 'en': "Suggestions.csv",
  545. 'it': "Suggerimenti.csv",
  546. },
  547. 'file_caption': {
  548. 'en': "Here is the suggestions file.",
  549. 'it': "Ecco il file dei suggerimenti.",
  550. }
  551. },
  552. 'see_suggestions': {
  553. 'command': "/getsuggestions",
  554. 'aliases': [
  555. "/vedisuggerimenti",
  556. ],
  557. 'description': {
  558. 'en': "Get a file containing all suggestions",
  559. 'it': "Richiedi un file con tutti i suggerimenti"
  560. },
  561. }
  562. }
  563. default_talk_messages = {
  564. 'admin_session_ended': {
  565. 'en': 'Session with user {u} ended.',
  566. 'it': 'Sessione terminata con l\'utente {u}.',
  567. },
  568. 'admin_warning': {
  569. 'en': (
  570. 'You are now talking to {u}.\n'
  571. 'Until you end this session, your messages will be '
  572. 'forwarded to each other.'
  573. ),
  574. 'it': (
  575. 'Sei ora connesso con {u}.\n'
  576. 'Finché non chiuderai la connessione, i messaggi che scriverai '
  577. 'qui saranno inoltrati a {u}, e ti inoltrerò i suoi.'
  578. ),
  579. },
  580. 'end_session': {
  581. 'en': 'End session?',
  582. 'it': 'Chiudere la sessione?',
  583. },
  584. 'help_text': {
  585. 'en': 'Press the button to search for user.',
  586. 'it': 'Premi il pulsante per scegliere un utente.',
  587. },
  588. 'search_button': {
  589. 'en': "🔍 Search for user",
  590. 'it': "🔍 Cerca utente",
  591. },
  592. 'select_user': {
  593. 'en': 'Which user would you like to talk to?',
  594. 'it': 'Con quale utente vorresti parlare?',
  595. },
  596. 'user_not_found': {
  597. 'en': (
  598. "Sory, but no user matches your query for\n"
  599. "<code>{q}</code>"
  600. ),
  601. 'it': (
  602. "Spiacente, ma nessun utente corrisponde alla ricerca per\n"
  603. "<code>{q}</code>"
  604. ),
  605. },
  606. 'instructions': {
  607. 'en': (
  608. 'Write a part of name, surname or username of the user you want '
  609. 'to talk to.'
  610. ),
  611. 'it': (
  612. 'Scrivi una parte del nome, cognome o username dell\'utente con '
  613. 'cui vuoi parlare.'
  614. ),
  615. },
  616. 'stop': {
  617. 'en': 'End session',
  618. 'it': 'Termina la sessione',
  619. },
  620. 'user_session_ended': {
  621. 'en': 'Session with admin {u} ended.',
  622. 'it': 'Sessione terminata con l\'amministratore {u}.',
  623. },
  624. 'user_warning': {
  625. 'en': (
  626. '{u}, admin of this bot, wants to talk to you.\n'
  627. 'Until this session is ended by {u}, your messages will be '
  628. 'forwarded to each other.'
  629. ),
  630. 'it': (
  631. '{u}, amministratore di questo bot, vuole parlare con te.\n'
  632. 'Finché non chiuderà la connessione, i messaggi che scriverai '
  633. 'qui saranno inoltrati a {u}, e ti inoltrerò i suoi.'
  634. ),
  635. },
  636. }
  637. default_unknown_command_message = {
  638. 'en': "Unknown command! Touch /help to read the guide and available commands.",
  639. 'it': "Comando sconosciuto! Fai /help per leggere la guida e i comandi."
  640. }