Skip to content

🤖 Additional bot functions

Here you can see additional bot features to use when creating modules.

📥 Load module

python
def load_module(self, name: str) -> Optional[str]:

INFO

Where name is the name of the module folder, followed by the internal name. Returns the base name of the module (specified in config.yaml) on success, and None on failure

📤 Unload module

python
def unload_module(self, name: str):

INFO

name by analogy with load. Doesn't return anything

WARNING

Don't forget to use the on_unload callback to safely terminate all event loops (or other tasks), otherwise it risks leaking them into memory

✅ Downloading module

Modules are only installed from remote git repositories

python
def install_from_git(self, url: str) -> (int, str):

INFO

url - Link to the remote repo. Returns a tuple of git and STDOUT exit code

🔃 Check for module updates

python
def check_for_updates(self, name: str, directory: str) -> Optional[bool]:

INFO

name - internal name of the module or extension, directory - the folder with the modules or extensions. Returns True if there are new commits, False if up-to-date, or None on error

🔄 Updating a module/extension

python
def update_from_git(self, name: str, directory: str) -> (int, str):

INFO

name - internal name of the module or extension, directory - the folder with the modules or extensions. Returns a tuple of git and STDOUT output code

🗑️ Deleting a module

python
def uninstall_module(self, name: str) -> bool:

INFO

name - internal name of the module. Returns True - success, False - failure

⬇️ Getting an internal name from a common name

python
def get_int_name(self, name: str) -> Optional[str]:

INFO

name - module name. Returns the internal module name on success.