Queer European MD passionate about IT

messages.py 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801
  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. 'father_command': {
  69. 'back': {
  70. 'en': "↩️ Back",
  71. 'it': "↩️ Indietro",
  72. },
  73. 'confirm': {
  74. 'en': "🔄 Click again to confirm",
  75. 'it': "🔄 Clicka di nuovo per confermare",
  76. },
  77. 'description': {
  78. 'en': "Edit the @BotFather commands",
  79. 'it': "Modifica i comandi con @BotFather",
  80. },
  81. 'error': {
  82. 'en': "❌ Error! ❌",
  83. 'it': "❌ Errore! ❌",
  84. },
  85. 'modes': [
  86. {
  87. 'id': "get",
  88. 'name': {
  89. 'en': "See",
  90. 'it': "Consulta"
  91. },
  92. 'symbol': "ℹ️",
  93. 'description': {
  94. 'en': "See commands stored by @BotFather",
  95. 'it': "Consulta i comandi salvati su @BotFather"
  96. },
  97. },
  98. {
  99. 'id': "set",
  100. 'name': {
  101. 'en': "Change",
  102. 'it': "Modifica"
  103. },
  104. 'symbol': "✏️",
  105. 'description': {
  106. 'en': "Change commands stored by @BotFather",
  107. 'it': "Modifica i comandi salvati su @BotFather"
  108. },
  109. },
  110. {
  111. 'id': "settings",
  112. 'name': {
  113. 'en': "Settings",
  114. 'it': "Impostazioni"
  115. },
  116. 'symbol': "⚙️",
  117. 'description': {
  118. 'en': "Set commands to hide or to add",
  119. 'it': "Imposta comandi da nascondere o aggiungere"
  120. },
  121. },
  122. ],
  123. 'set': {
  124. 'button': {
  125. 'en': "⚠️ Set these commands 🔧",
  126. 'it': "⚠️ Imposta questi comandi 🔧",
  127. },
  128. 'done': {
  129. 'en': "✅ Done!",
  130. 'it': "✅ Fatto!",
  131. },
  132. 'header': {
  133. 'en': "✏️ <b>Change commands stored by @BotFather 🤖</b>",
  134. 'it': "✏️ <b>Modifica i comandi salvati su @BotFather 🤖</b>",
  135. },
  136. 'legend': {
  137. 'en': "<b>Legend</b>\n"
  138. "✅ <i>Already stored</i>\n"
  139. "☑ <i>New command</i>\n"
  140. "❌ <i>Will be removed</i>",
  141. 'it': "<b>Legenda</b>\n"
  142. "✅ <i>Già presente</i>\n"
  143. "☑ <i>Nuovo comando</i>\n"
  144. "❌ <i>Comando eliminato</i>",
  145. },
  146. 'no_change': {
  147. 'en': "❌ No change detected",
  148. 'it': "❌ Nessuna modifica",
  149. },
  150. },
  151. 'settings': {
  152. 'browse_records': {
  153. 'en': "✏️ <b>Edit BotFather settings</b> ⚙️\n\n"
  154. "Select a record to edit.\n"
  155. "Showing records from {record_interval[0]} to "
  156. "{record_interval[1]} of {record_interval[2]}\n\n"
  157. "<i>Legend</i>\n"
  158. "➕ Added commands\n"
  159. "➖ Hidden commands\n",
  160. 'it': "✏️ <b>Modifica impostazioni di BotFather</b> ⚙\n\n️"
  161. "Seleziona un'impostazione da modificare.\n"
  162. "Record da {record_interval[0]} a "
  163. "{record_interval[1]} di {record_interval[2]}\n\n"
  164. "<i>Legenda</i>\n"
  165. "➕ Comandi aggiunti\n"
  166. "➖ Comandi nascosti\n",
  167. },
  168. 'modes': {
  169. 'add': {
  170. 'symbol': "➕️",
  171. 'name': {
  172. 'en': "Add",
  173. 'it': "Aggiungi"
  174. },
  175. 'description': {
  176. 'en': "Add command to default list",
  177. 'it': "Aggiungi un comando dalla lista autogenerata"
  178. }
  179. },
  180. 'hide': {
  181. 'symbol': "➖️",
  182. 'name': {
  183. 'en': "Hide",
  184. 'it': "Nascondi"
  185. },
  186. 'description': {
  187. 'en': "Hide command from default list",
  188. 'it': "Nascondi un comando dalla lista autogenerata"
  189. }
  190. },
  191. 'edit': {
  192. 'symbol': "✏️",
  193. 'name': {
  194. 'en': "Edit",
  195. 'it': "Modifica"
  196. },
  197. 'description': {
  198. 'en': "Edit added or hidden commands",
  199. 'it': "Modifica i comandi aggiunti o nascosti"
  200. }
  201. },
  202. },
  203. 'panel': {
  204. 'en': "🤖 <b>@BotFather settings</b> ⚙️\n\n"
  205. "➕ <i>Additional commands</i>\n"
  206. "{additional_commands}\n\n"
  207. "➖ <i>Hidden commands</i>\n"
  208. "{hidden_commands}",
  209. 'it': "⚙️ <b>Impostazioni di @BotFather</b> 🤖\n\n"
  210. "➕ <i>Comandi aggiuntivi</i>\n"
  211. "{additional_commands}\n\n"
  212. "➖ <i>Comandi nascosti</i>\n"
  213. "{hidden_commands}",
  214. },
  215. },
  216. 'title': {
  217. 'en': "🤖 <b>BotFather</b>",
  218. 'it': "🤖 <b>BotFather</b>",
  219. },
  220. },
  221. 'log_command': {
  222. 'description': {
  223. 'en': "Receive bot log file, if set",
  224. 'it': "Ricevi il file di log del bot, se impostato"
  225. },
  226. 'no_log': {
  227. 'en': "Sorry but no log file is set.\n"
  228. "To set it, use `bot.set_log_file_name` instance method or "
  229. "`Bot.set_class_log_file_name` class method.",
  230. 'it': "Spiacente ma il file di log non è stato impostato.\n"
  231. "Per impostarlo, usa il metodo d'istanza "
  232. "`bot.set_log_file_name` o il metodo di classe"
  233. "`Bot.set_class_log_file_name`."
  234. },
  235. 'sending_failure': {
  236. 'en': "Sending log file failed!\n\n"
  237. "<b>Error:</b>\n"
  238. "<code>{e}</code>",
  239. 'it': "Inviio del messaggio di log fallito!\n\n"
  240. "<b>Errore:</b>\n"
  241. "<code>{e}</code>"
  242. },
  243. 'here_is_log_file': {
  244. 'en': "Here is the complete log file.",
  245. 'it': "Ecco il file di log completo."
  246. },
  247. 'log_file_first_lines': {
  248. 'en': "Here are the first {lines} lines of the log file.",
  249. 'it': "Ecco le prime {lines} righe del file di log."
  250. },
  251. 'log_file_last_lines': {
  252. 'en': "Here are the last {lines} lines of the log file.\n"
  253. "Newer lines are at the top of the file.",
  254. 'it': "Ecco le ultime {lines} righe del file di log.\n"
  255. "L'ordine è cronologico, con i messaggi nuovi in alto."
  256. }
  257. },
  258. 'maintenance_command': {
  259. 'description': {
  260. 'en': "Put the bot under maintenance",
  261. 'it': "Metti il bot in manutenzione"
  262. },
  263. 'maintenance_started': {
  264. 'en': "<i>Bot has just been put under maintenance!</i>\n\n"
  265. "Until further notice, it will reply to users "
  266. "with the following message:\n\n"
  267. "{message}",
  268. 'it': "<i>Il bot è stato messo in manutenzione!</i>\n\n"
  269. "Fino a nuovo ordine, risponderà a tutti i comandi con il "
  270. "seguente messaggio\n\n"
  271. "{message}"
  272. },
  273. 'maintenance_ended': {
  274. 'en': "<i>Maintenance ended!</i>",
  275. 'it': "<i>Manutenzione terminata!</i>"
  276. }
  277. },
  278. 'new_version': {
  279. 'title': {
  280. 'en': "🔔 New version installed ✅",
  281. 'it': "🔔 Rilevata nuova versione installata! ✅",
  282. },
  283. 'last_commit': {
  284. 'en': "Old commit: <code>{old_record[last_commit]}</code>\n"
  285. "New commit: <code>{new_record[last_commit]}</code>",
  286. 'it': "Vecchio commit: <code>{old_record[last_commit]}</code>\n"
  287. "Nuovo commit: <code>{new_record[last_commit]}</code>",
  288. },
  289. },
  290. 'query_button': {
  291. 'error': {
  292. 'en': "Error!",
  293. 'it': "Errore!",
  294. },
  295. 'file_name': {
  296. 'en': "Query result.csv",
  297. 'it': "Risultato della query.csv",
  298. },
  299. 'empty_file': {
  300. 'en': "No result to show.",
  301. 'it': "Nessun risultato da mostrare.",
  302. }
  303. },
  304. 'query_command': {
  305. 'description': {
  306. 'en': "Receive the result of a SQL query performed on bot "
  307. "database",
  308. 'it': "Ricevi il risultato di una query SQL sul database del bot"
  309. },
  310. 'help': {
  311. 'en': "Write a SQL query to be run on bot database.\n\n"
  312. "<b>Example</b>\n"
  313. "<code>/query SELECT * FROM users WHERE 0</code>",
  314. 'it': "Invia una query SQL da eseguire sul database del bot.\n\n"
  315. "<b>Esempio</b>\n"
  316. "<code>/query SELECT * FROM users WHERE 0</code>"
  317. },
  318. 'no_iterable': {
  319. 'en': "No result to show was returned",
  320. 'it': "La query non ha restituito risultati da mostrare"
  321. },
  322. 'exception': {
  323. 'en': "The query threw this error:",
  324. 'it': "La query ha dato questo errore:"
  325. },
  326. 'result': {
  327. 'en': "Query result",
  328. 'it': "Risultato della query"
  329. }
  330. },
  331. 'restart_command': {
  332. 'description': {
  333. 'en': "Restart bots",
  334. 'it': "Riavvia i bot"
  335. },
  336. 'restart_scheduled_message': {
  337. 'en': "Bots are being restarted, after pulling from repository.",
  338. 'it': "I bot verranno riavviati in pochi secondi, caricando "
  339. "prima le eventuali modifiche al codice."
  340. },
  341. 'restart_completed_message': {
  342. 'en': "<i>Restart was successful.</i>",
  343. 'it': "<i>Restart avvenuto con successo.</i>"
  344. }
  345. },
  346. 'select_command': {
  347. 'description': {
  348. 'en': "Receive the result of a SELECT query performed on bot "
  349. "database",
  350. 'it': "Ricevi il risultato di una query SQL di tipo SELECT "
  351. "sul database del bot"
  352. }
  353. },
  354. 'stop_button': {
  355. 'stop_text': {
  356. 'en': "Stop bots",
  357. 'it': "Ferma i bot"
  358. },
  359. 'cancel': {
  360. 'en': "Cancel",
  361. 'it': "Annulla"
  362. },
  363. 'confirm': {
  364. 'en': "Do you really want to stop all bots?",
  365. 'it': "Vuoi davvero fermare tutti i bot?"
  366. },
  367. 'stopping': {
  368. 'en': "Stopping bots...",
  369. 'it': "Arresto in corso..."
  370. },
  371. 'cancelled': {
  372. 'en': "Operation was cancelled",
  373. 'it': "Operazione annullata"
  374. }
  375. },
  376. 'stop_command': {
  377. 'description': {
  378. 'en': "Stop bots",
  379. 'it': "Ferma i bot"
  380. },
  381. 'text': {
  382. 'en': "Are you sure you want to stop all bots?\n"
  383. "To make them start again you will have to ssh-log "
  384. "in server.\n\n"
  385. "To restart the bots remotely use the /restart command "
  386. "instead (before starting over, a <code>git pull</code> "
  387. "is performed).",
  388. 'it': "Sei sicuro di voler fermare i bot?\n"
  389. "Per farli ripartire dovrai accedere al server.\n\n"
  390. "Per far ripartire i bot da remoto usa invece il comando "
  391. "/restart (prima di ripartire farò un "
  392. "<code>git pull</code>)."
  393. }
  394. },
  395. 'talk_command': {
  396. 'description': {
  397. 'en': "Choose a user and forward messages to each other",
  398. 'it': "Scegli un utente e il bot farà da tramite inoltrando a "
  399. "ognuno i messaggi dell'altro finché non terminerai la "
  400. "sessione"
  401. }
  402. },
  403. 'updates_available': {
  404. 'header': {
  405. 'en': "🔔 Updates available! ⬇️\n\n"
  406. "Click to /restart bot",
  407. 'it': "🔔 Aggiornamenti disponibili! ⬇\n\n"
  408. "Clicka qui per fare il /restart",
  409. },
  410. },
  411. 'version_command': {
  412. 'reply_keyboard_button': {
  413. 'en': "Version #️⃣",
  414. 'it': "Versione #️⃣",
  415. },
  416. 'description': {
  417. 'en': "Get packages version and source code last commit",
  418. 'it': "Chiedi la versione dei pacchetti e del codice sorgente",
  419. },
  420. 'help_section': None,
  421. 'header': {
  422. 'en': "ℹ️ Version information #️⃣\n\n"
  423. "Last commit: <code>{last_commit}</code>",
  424. 'it': "ℹ️ Informazioni sulle versioni dei pacchetti #️⃣\n\n"
  425. "Ultimo commit: <code>{last_commit}</code>"
  426. },
  427. },
  428. }
  429. default_authorization_messages = {
  430. 'auth_command': {
  431. 'description': {
  432. 'en': "Edit user permissions. To select a user, reply to "
  433. "a message of theirs or write their username",
  434. 'it': "Cambia il grado di autorizzazione di un utente "
  435. "(in risposta o scrivendone lo username)"
  436. },
  437. 'unhandled_case': {
  438. 'en': "<code>Unhandled case :/</code>",
  439. 'it': "<code>Caso non previsto :/</code>"
  440. },
  441. 'instructions': {
  442. 'en': "Reply with this command to a user or write "
  443. "<code>/auth username</code> to edit their permissions.",
  444. 'it': "Usa questo comando in risposta a un utente "
  445. "oppure scrivi <code>/auth username</code> per "
  446. "cambiarne il grado di autorizzazione."
  447. },
  448. 'unknown_user': {
  449. 'en': "Unknown user.",
  450. 'it': "Utente sconosciuto."
  451. },
  452. 'choose_user': {
  453. 'en': "{n} users match your query. Please select one.",
  454. 'it': "Ho trovato {n} utenti che soddisfano questi criteri.\n"
  455. "Per procedere selezionane uno."
  456. },
  457. 'no_match': {
  458. 'en': "No user matches your query. Please try again.",
  459. 'it': "Non ho trovato utenti che soddisfino questi criteri.\n"
  460. "Prova di nuovo."
  461. }
  462. },
  463. 'ban_command': {
  464. 'description': {
  465. 'en': "Reply to a user with /ban to ban them",
  466. 'it': "Banna l'utente (da usare in risposta)"
  467. }
  468. },
  469. 'auth_button': {
  470. 'description': {
  471. 'en': "Edit user permissions",
  472. 'it': "Cambia il grado di autorizzazione di un utente"
  473. },
  474. 'confirm': {
  475. 'en': "Are you sure?",
  476. 'it': "Sicuro sicuro?"
  477. },
  478. 'back_to_user': {
  479. 'en': "Back to user",
  480. 'it': "Torna all'utente"
  481. },
  482. 'permission_denied': {
  483. 'user': {
  484. 'en': "You cannot appoint this user!",
  485. 'it': "Non hai l'autorità di modificare i permessi di questo "
  486. "utente!"
  487. },
  488. 'role': {
  489. 'en': "You're not allowed to appoint someone to this role!",
  490. 'it': "Non hai l'autorità di conferire questo permesso!"
  491. }
  492. },
  493. 'no_change': {
  494. 'en': "No change suggested!",
  495. 'it': "È già così!"
  496. },
  497. 'appointed': {
  498. 'en': "Permission granted",
  499. 'it': "Permesso conferito"
  500. }
  501. },
  502. }
  503. default_authorization_denied_message = {
  504. 'en': "You are not allowed to use this command, sorry.",
  505. 'it': "Non disponi di autorizzazioni sufficienti per questa richiesta, spiacente.",
  506. }
  507. default_help_messages = {
  508. 'help_command': {
  509. 'header': {
  510. 'en': "<b>{bot.name} commands</b>\n\n"
  511. "{commands}",
  512. 'it': "<b>Comandi di {bot.name}</b>\n\n"
  513. "{commands}",
  514. },
  515. 'text': {
  516. 'en': "<b>Guide</b>",
  517. 'it': "<b>Guida</b>"
  518. },
  519. 'reply_keyboard_button': {
  520. 'en': "Help 📖",
  521. 'it': "Guida 📖"
  522. },
  523. 'description': {
  524. 'en': "Help",
  525. 'it': "Aiuto"
  526. },
  527. 'access_denied_message': {
  528. 'en': "Ask for authorization. If your request is accepted, send "
  529. "/help command again to read the guide.",
  530. 'it': "Chiedi di essere autorizzato: se la tua richiesta "
  531. "verrà accolta, ripeti il comando /help per leggere "
  532. "il messaggio di aiuto."
  533. },
  534. 'back_to_help_menu': {
  535. 'en': "Back to guide menu 📖",
  536. 'it': "Torna al menu Guida 📖",
  537. },
  538. },
  539. 'commands_button_label': {
  540. 'en': "Commands 🤖",
  541. 'it': "Comandi 🤖",
  542. },
  543. }
  544. default_language_messages = {
  545. 'language_command': {
  546. 'name': {
  547. 'en': "/language",
  548. 'it': "/lingua"
  549. },
  550. 'alias': {
  551. 'en': "Language 🗣",
  552. 'it': "Lingua 🗣"
  553. },
  554. 'reply_keyboard_button': {
  555. 'en': "Language 🗣",
  556. 'it': "Lingua 🗣"
  557. },
  558. 'description': {
  559. 'en': "Change language settings",
  560. 'it': "Cambia le impostazioni della lingua"
  561. }
  562. },
  563. 'language_button': {
  564. 'description': {
  565. 'en': "Change language settings",
  566. 'it': "Cambia le impostazioni della lingua"
  567. },
  568. 'language_set': {
  569. 'en': "Selected language: English 🇬🇧",
  570. 'it': "Lingua selezionata: Italiano 🇮🇹"
  571. }
  572. },
  573. 'language_panel': {
  574. 'text': {
  575. 'en': "<b>Choose a language</b>",
  576. 'it': "<b>Seleziona una lingua</b>"
  577. }
  578. }
  579. }
  580. default_suggestion_messages = {
  581. 'suggestions_command': {
  582. 'command': "/suggestion",
  583. 'aliases': [
  584. "/suggestions", "/ideas",
  585. "/suggerimento", "/suggerimenti", "idee"
  586. ],
  587. 'reply_keyboard_button': {
  588. 'en': "Ideas 💡",
  589. 'it': "Idee 💡"
  590. },
  591. 'description': {
  592. 'en': "Send a suggestion to help improve the bot",
  593. 'it': "Invia un suggerimento per aiutare a migliorare il bot"
  594. },
  595. 'prompt_text': {
  596. 'en': (
  597. "Send a suggestion to bot administrator.\n\n"
  598. "Maximum 1500 characters (extra ones will be ignored).\n"
  599. "If you need more space, you may create a telegra.ph topic and link it here.\n\n"
  600. "/cancel if you misclicked."
  601. ),
  602. 'it': (
  603. "Inserisci un suggerimento da inviare agli amministratori.\n\n"
  604. "Massimo 1500 caratteri (quelli in più non verranno registrati).\n"
  605. "Se ti serve maggiore libertà, puoi per esempio creare un topic "
  606. "su telegra.ph e linkarlo qui!\n\n"
  607. "/annulla se hai clickato per errore."
  608. ),
  609. },
  610. 'prompt_popup': {
  611. 'en': (
  612. "Send a suggestion"
  613. ),
  614. 'it': (
  615. "Inserisci un suggerimento"
  616. ),
  617. },
  618. 'entered_suggestion': {
  619. 'text': {
  620. 'en': (
  621. "Entered suggestions:\n\n"
  622. "<code>{suggestion}</code>\n\n"
  623. "Do you want to send it to bot administrators?"
  624. ),
  625. 'it': (
  626. "Suggerimento inserito:\n\n"
  627. "<code>{suggestion}</code>\n\n"
  628. "Vuoi inviarlo agli amministratori?"
  629. ),
  630. },
  631. 'buttons': {
  632. 'send': {
  633. 'en': "Send it! 📧",
  634. 'it': "Invia! 📧",
  635. },
  636. 'cancel': {
  637. 'en': "Cancel ❌",
  638. 'it': "Annulla ❌",
  639. },
  640. }
  641. },
  642. 'received_suggestion': {
  643. 'text': {
  644. 'en': (
  645. "💡 We received a new suggestion! 💡\n\n"
  646. "{user}\n\n"
  647. "<code>{suggestion}</code>\n\n"
  648. "#suggestions #{bot.name}"
  649. ),
  650. 'it': (
  651. "💡 Abbiamo ricevuto un nuovo suggerimento! 💡\n\n"
  652. "{user}\n\n"
  653. "<code>{suggestion}</code>\n\n"
  654. "#suggestions #{bot.name}"
  655. ),
  656. },
  657. 'buttons': {
  658. 'new': {
  659. 'en': "New suggestion 💡",
  660. 'it': "Nuovo suggerimento 💡",
  661. },
  662. },
  663. },
  664. 'invalid_suggestion': {
  665. 'en': "Invalid suggestion.",
  666. 'it': "Suggerimento non valido."
  667. },
  668. 'cancel_messages': {
  669. 'en': ['cancel'],
  670. 'it': ['annulla', 'cancella'],
  671. },
  672. 'operation_cancelled': {
  673. 'en': "Operation cancelled.",
  674. 'it': "Operazione annullata con successo.",
  675. },
  676. 'suggestion_sent': {
  677. 'popup': {
  678. 'en': "Thanks!",
  679. 'it': "Grazie!",
  680. },
  681. 'text': {
  682. 'en': (
  683. "💡 Suggestion sent, thank you! 💡\n\n"
  684. "<code>{suggestion}</code>\n\n"
  685. "#suggestions #{bot.name}"
  686. ),
  687. 'it': (
  688. "💡 Suggerimento inviato, grazie! 💡\n\n"
  689. "<code>{suggestion}</code>\n\n"
  690. "#suggerimenti #{bot.name}"
  691. ),
  692. },
  693. }
  694. },
  695. 'suggestions_button': {
  696. 'file_name': {
  697. 'en': "Suggestions.csv",
  698. 'it': "Suggerimenti.csv",
  699. },
  700. 'file_caption': {
  701. 'en': "Here is the suggestions file.",
  702. 'it': "Ecco il file dei suggerimenti.",
  703. }
  704. },
  705. 'see_suggestions': {
  706. 'command': "/getsuggestions",
  707. 'aliases': [
  708. "/vedisuggerimenti",
  709. ],
  710. 'description': {
  711. 'en': "Get a file containing all suggestions",
  712. 'it': "Richiedi un file con tutti i suggerimenti"
  713. },
  714. }
  715. }
  716. default_talk_messages = {
  717. 'admin_session_ended': {
  718. 'en': 'Session with user {u} ended.',
  719. 'it': 'Sessione terminata con l\'utente {u}.',
  720. },
  721. 'admin_warning': {
  722. 'en': (
  723. 'You are now talking to {u}.\n'
  724. 'Until you end this session, your messages will be '
  725. 'forwarded to each other.'
  726. ),
  727. 'it': (
  728. 'Sei ora connesso con {u}.\n'
  729. 'Finché non chiuderai la connessione, i messaggi che scriverai '
  730. 'qui saranno inoltrati a {u}, e ti inoltrerò i suoi.'
  731. ),
  732. },
  733. 'end_session': {
  734. 'en': 'End session?',
  735. 'it': 'Chiudere la sessione?',
  736. },
  737. 'help_text': {
  738. 'en': 'Press the button to search for user.',
  739. 'it': 'Premi il pulsante per scegliere un utente.',
  740. },
  741. 'search_button': {
  742. 'en': "🔍 Search for user",
  743. 'it': "🔍 Cerca utente",
  744. },
  745. 'select_user': {
  746. 'en': 'Which user would you like to talk to?',
  747. 'it': 'Con quale utente vorresti parlare?',
  748. },
  749. 'user_not_found': {
  750. 'en': (
  751. "Sory, but no user matches your query for\n"
  752. "<code>{q}</code>"
  753. ),
  754. 'it': (
  755. "Spiacente, ma nessun utente corrisponde alla ricerca per\n"
  756. "<code>{q}</code>"
  757. ),
  758. },
  759. 'instructions': {
  760. 'en': (
  761. 'Write a part of name, surname or username of the user you want '
  762. 'to talk to.'
  763. ),
  764. 'it': (
  765. 'Scrivi una parte del nome, cognome o username dell\'utente con '
  766. 'cui vuoi parlare.'
  767. ),
  768. },
  769. 'stop': {
  770. 'en': 'End session',
  771. 'it': 'Termina la sessione',
  772. },
  773. 'user_session_ended': {
  774. 'en': 'Session with admin {u} ended.',
  775. 'it': 'Sessione terminata con l\'amministratore {u}.',
  776. },
  777. 'user_warning': {
  778. 'en': (
  779. '{u}, admin of this bot, wants to talk to you.\n'
  780. 'Until this session is ended by {u}, your messages will be '
  781. 'forwarded to each other.'
  782. ),
  783. 'it': (
  784. '{u}, amministratore di questo bot, vuole parlare con te.\n'
  785. 'Finché non chiuderà la connessione, i messaggi che scriverai '
  786. 'qui saranno inoltrati a {u}, e ti inoltrerò i suoi.'
  787. ),
  788. },
  789. }
  790. default_unknown_command_message = {
  791. 'en': "Unknown command! Touch /help to read the guide and available commands.",
  792. 'it': "Comando sconosciuto! Fai /help per leggere la guida e i comandi."
  793. }