Skip to main content

Library for writing task based telegram bots

Project description

telegram-task-bot

Library to setup telegram bots with recurring tasks.

Usage

pip install telegram-task-bot

.env Variables

  1. ALLOWED_USERS specifies the users which are allowed, if any, every one is allowed to use the bot.
  2. BOT_TOKEN the token of the bot.
  3. START_MESSAGE the message to be send as response to the start command.

Classes

There are several classes included in this Package.

Task

Base class for recurring tasks.

Configuration

  • job_name: str Name of the job defined in this task
  • disable_notifications: bool Disable notifications, flag send to the telegram server
  • generic: bool Defines if the task looks the same for each user
  • first_time:time First time to run the task, 0 is now takes a datetime.time
  • repeat_time: timedelta Defines the time between two executions of the job, takes datetime.timedelta
  • filename: str Filename under which data specific to this job should be saved

GenericTask

More specific class which adds the possiblity to get the actual value and implements user handling. The data is saved to a JSON file. The callback method ( callback(self, context: telegram.ext.CallbackContext)) must be implemented.

UrlTask

Extension of the GenericTask to simplify the usage for jobs calling a URL and returning the link/ response to the subscribers. It retries every 2 seconds until it gets a response.

This class adds a url field where the information lies.

The handle_response(self, response: Response) must be implemented to extract the data from the request and return the message string.

Example Project

https://github.com/bb4L/digitec_daily_bot

License

LGPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telegram-task-bot-0.1.1.3.tar.gz (9.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page