Commit Graph
100 Commits
Author SHA1 Message Date
Davte 74079fb481 Do not encode pictures as utf-8 2019-10-01 15:00:00 +02:00
Davte f02aa38200 Hide CSV button if no query_id is available 2019-09-29 20:18:14 +02:00
Davte 0e268414f9 Prevent UnboundLocalError 2019-09-29 20:16:39 +02:00
Davte aa6f45887e Allow addition of help sections 2019-08-18 23:23:48 +02:00
Davte 45e2bbfa3d Support for multilanguage /help command
A bot guide may be built automatically using @bot.command decorator.
2019-08-18 20:55:47 +02:00
Davte a2365f815d Handle unknown exceptions in getUpdates method 2019-08-15 13:45:32 +02:00
Davte 72a7dd5a5f Catch and return unexpected exceptions during API calls 2019-08-15 11:35:24 +02:00
Davte f525caa2e5 Comments 2019-08-05 21:59:35 +02:00
Davte 91f9119ad5 Return result string if it is not a dict 2019-08-05 21:44:32 +02:00
Davte 3fbe4b93e9 get_message method is inherited and must not be overwritten 2019-08-05 21:43:58 +02:00
Davte e0f1199768 Interrupt if unable to start webapp 2019-08-04 22:27:10 +02:00
Davte e6ed4176ad Avoid overwriting self.messages 2019-08-04 18:10:02 +02:00
Davte 493c127469 Make custombot.Bot().command pass reply_keyboard_button parameter 2019-08-04 18:07:56 +02:00
Davte 5fb28a5c7a Patch for custombot 2019-08-04 17:57:02 +02:00
Davte 6f45b906ff Add reply keyboard buttons to aliases if necessary 2019-07-27 00:00:21 +02:00
Davte 1b9c039549 Avoid returning fake log_file_name 2019-07-26 23:43:11 +02:00
Davte 62b390b7b9 Multilanguage support for reply keyboard buttons 2019-07-26 23:37:23 +02:00
Davte 02ce581ced Merge branch 'develop' of ssh://davte.it:8445/Davte/davtelepot into develop 2019-07-26 20:21:20 +02:00
Davte 82b203b5ab /maintenance command implemented 2019-07-26 20:20:53 +02:00
Davte 656e08fc1a /maintenance command implemented 2019-07-26 19:34:38 +02:00
Davte 417dcb63e4 /log and /errors commands implemented
Receive bot general log and errors log via bot itself
2019-07-26 18:22:27 +02:00
Davte 7a994ca957 Function to send part of text files 2019-07-26 18:21:39 +02:00
Davte c56c37c351 Make send_document return an Exception if document to send is not found 2019-07-26 14:03:33 +02:00
Davte 1297402357 /select command implemented
It calls _query_command function
2019-07-26 11:42:41 +02:00
Davte 39e7d8b783 Provide help if /query command is called with no text 2019-07-26 11:05:37 +02:00
Davte 9961c2734c /query command implemented
Run a SQL query on bot database and receive the results as a message or 
a CSV file
2019-07-26 10:56:48 +02:00
Davte d60637a3b7 Consider user_record in /talk related function
Thus, user-selected language will be applied in get_message method calls
2019-07-26 10:56:01 +02:00
Davte d765aea71e Function to send CSV files 2019-07-26 10:54:33 +02:00
Davte ad5ec33869 Close buffered_file only if it exists 2019-07-26 10:36:30 +02:00
Davte 80418bd11c Allow keyword arguments in custombot initialization 2019-07-22 21:59:31 +02:00
Davte 637dca7af2 handle_location method deprecated 2019-07-22 18:23:39 +02:00
Davte c1c9f7dd78 Language suppport for /language command 2019-07-22 12:36:38 +02:00
Davte 3f4417b84b Added support for multilanguage command descriptions 2019-07-21 20:47:54 +02:00
Davte b1c7ee4299 Get database url from database object 2019-07-21 20:08:01 +02:00
Davte cb64443af2 New version 2019-07-21 17:46:28 +02:00
Davte 9890988f7f /db command implemented 2019-07-21 17:46:06 +02:00
Davte f5c661925c Close buffered_file only if it exists 2019-07-21 17:45:39 +02:00
Davte 04827b4691 davtelepot.bot.Bot().send_document method implemented
It accepts document handlers, Telegram `document_id`s or file paths
2019-07-21 17:32:27 +02:00
Davte 37a2e6a9f2 Use default_message argument of get_message method 2019-07-21 15:56:30 +02:00
Davte fba4e4c143 get_message method now supports a default_message optional kwarg 2019-07-21 15:39:59 +02:00
Davte 6e95de61e9 More elegant way of /stopping bots 2019-07-20 21:05:40 +02:00
Davte 191a2d2ecb /stop command implemented 2019-07-20 20:34:39 +02:00
Davte ab63f56276 Log identifier if get_user_identifier method fails 2019-07-20 19:29:00 +02:00
Davte adf67c9ce1 Restart command implemented; user_record variable renamed 2019-07-20 17:09:14 +02:00
Davte 00bd5b24cd Return instructions if /auth is called without arguments 2019-07-20 13:57:02 +02:00
Davte ec8a882eba Logical error fixed
When selected_language_code was not a field of `user` table, it was 
never added
2019-07-20 13:17:15 +02:00
Davte 907d27b554 Ensure that field selected_language_code is added if not present 2019-07-20 13:13:18 +02:00
Davte c43c0be4fa Multilanguage support
Support /language command (and buttons) to make user choose a language.
2019-07-20 13:05:26 +02:00
Davte 10d53e8e1e Insert selected_language_code for new users (set to None). 2019-07-20 13:04:54 +02:00
Davte 4b3228b6bc /auth command and buttons 2019-07-20 00:04:55 +02:00
Davte 81cf37b0eb Option to switch off telegram profile linking 2019-07-19 22:59:32 +02:00
Davte dba337f5dc Authorization-related multilanguage messages 2019-07-19 19:12:10 +02:00
Davte 382ee2a4f1 Store users data and track changes 2019-07-19 18:17:19 +02:00
Davte cab54806a7 More general refactoring 2019-07-19 17:25:47 +02:00
Davte 4dd88a0b2c Authorization module to handle roles 2019-07-19 17:08:53 +02:00
Davte 3c12b00839 custom_parser does not exist anymore 2019-07-19 16:45:32 +02:00
Davte 6075e5513b Support for multiple languages 2019-07-19 16:40:46 +02:00
Davte a085fddf31 Use dot for relative imports 2019-07-19 12:21:11 +02:00
Davte e22854c77d aiohttp.web.Application does not take a loop argument anymore 2019-07-19 10:50:29 +02:00
Davte 65559814a4 Package information updated 2019-07-19 10:47:46 +02:00
Davte e8cf7cd421 Version 13 exposed secrets 2019-07-19 10:07:24 +02:00
Davte 600e3a3826 New version (12 was deleted due to token exposure) 2019-07-19 10:03:29 +02:00
Davte 44baf46406 Build wheels from sdist output, since the former ignores MANIEFST.in 2019-07-19 10:02:46 +02:00
Davte 7e0d871474 Exclude data/ and test*.py from distribution 2019-07-19 09:39:42 +02:00
Davte f8ec144719 Prevent AttributeError: 'NoneType' object has no attribute 'format' 2019-07-18 17:45:47 +02:00
Davte 948ebcd015 Used edit_message_text to reply if message_id is in kwargs 2019-07-18 12:07:06 +02:00
Davte 3cb912154b Typo 2019-07-18 11:21:14 +02:00
Davte 0557b67734 Backward compatibility: allow regular functions instead of coroutines
Wrap regular functions passed to `set_chosen_inline_result_handler` 
since it accepts only coroutines.
2019-07-18 10:17:41 +02:00
Davte a01ff8c486 Individual location handler 2019-07-18 09:57:56 +02:00
Davte 41f578cf21 reply general method defined: calls proper output method
Call reply with an update and some keyword arguments, it will use the 
proper method according to kwargs to send the output.
2019-07-18 09:56:40 +02:00
Davte 2e5ef62dff Hide reply_markup from edited message if new message is sent with it 2019-07-18 00:00:55 +02:00
Davte 568694f3aa When editing message, make each message reply to the previous 2019-07-17 23:55:59 +02:00
Davte c331313f85 Bug in edit_message_text fixed: text instead of text_chunk 2019-07-17 23:46:07 +02:00
Davte 44055ff181 Allow new button syntax also in legacy mode (buttons with no data) 2019-07-17 16:54:57 +02:00
Davte afb2d26627 Updated dependencies in setup file 2019-07-17 12:36:57 +02:00
Davte f6cc57e70b Semplified dependencies 2019-07-17 12:15:44 +02:00
Davte 6c88412a54 Update requirements 2019-07-17 11:56:00 +02:00
Davte b6c8c7e5bc Prevent aiohttp from encoding file names as URLs 2019-07-17 11:06:24 +02:00
Davte f590d3d677 type(None) != None 2019-07-17 00:21:55 +02:00
Davte 4b27b26467 Support null answer to callback queries 2019-07-17 00:18:43 +02:00
Davte 9c008d5923 Pass only supported arguments to async_wrapped coroutines 2019-07-16 23:58:56 +02:00
Davte cb2092bef4 Backward compatibility with legacy custombot achieved 2019-07-16 16:43:06 +02:00
Davte ee7864f813 Whitespace 2019-07-16 16:42:20 +02:00
Davte ddc006a192 Property unauthorized_message was renamed 2019-07-16 16:41:56 +02:00
Davte 434d09c317 chosen_inline_result handler refactored 2019-07-16 16:40:59 +02:00
Davte 7e461be1bd Defined methods forward_message and delete_message 2019-07-16 16:39:23 +02:00
Davte d53051e6f3 Class method get defined. 2019-07-16 16:38:53 +02:00
Davte b0149da520 Example showing how to run more bots together 2019-07-15 18:06:44 +02:00
Davte 925c03b1ed Information updated 2019-07-15 18:06:32 +02:00
Davte 8ab1ec4461 Whitespace 2019-07-15 18:06:08 +02:00
Davte a6105e4fb1 Added information in webhook guide 2019-07-15 17:24:06 +02:00
Davte d640a21a5d Webhook guide 2019-07-15 17:07:57 +02:00
Davte 24482aecbc Append to secrets file instead of overwriting 2019-07-15 17:07:26 +02:00
Davte be8d06169d Example showing how to develop a simple bot with davtelepot 2019-07-15 15:36:01 +02:00
Davte f8cc0c1a22 Format unknown command message text passing self as bot. 2019-07-15 15:30:22 +02:00
Davte 3669680156 User higher level answer_inline_query method 2019-07-15 15:02:38 +02:00
Davte 052410ecf7 Fixed bugs in parser decorator 2019-07-15 15:02:11 +02:00
Davte 4c25c935bb New version 2019-07-15 13:17:54 +02:00
Davte 9f26352728 Button decorator signature changed 2019-07-15 13:08:39 +02:00
Davte a8a797a176 Bot decorators will pass only supported arguments to decorated functions
Command, parser, button and query decorators will not pass unsupported 
arguments to their decorated functions anymore (legacy compatibility 
with custombot and new feature for bot).
2019-07-15 13:06:02 +02:00