A Telegram bot for remotely managing Binance Trade Bot

Overview

Binance Trade Bot Manager Telegram

A Telegram bot for remotely managing Binance Trade Bot.

If you have feature requests please open an issue on this repo, developers are also welcome to contribute!

About

I wanted to develop an easy way of managing Binance Trade Bot so that I wouldn't have to constantly ssh into my VPS, and my non-techy friends could enjoy the benefits of automated trading.

As of now the bot is able to perform the following actions:

  • Check bot status (running / not running)
  • Start Binance Trade Bot
  • Stop Binance Trade Bot
  • Display current coin stats (balance, USD value, BTC value, initial buying price)
  • Display current coin ratios
  • Display progress (how much more of a certain coin you gained since you started using Binance Trade Bot)
  • Display trade history
  • Display last 4000 characters of log file
  • Edit coin list (supported_coin_list file)
  • Edit user configuration (user.cfg file)
  • Delete database file (crypto_trading.db file)
  • Export database file
  • Update Binance Trade Bot (and notify when new update is available)
  • Update Binance Trade Bot Manager Telegram (and notify when new update is available)

The program's default behavior fetches Telegram token and user_id from Binance Trade Bot's apprise.yml file.
Only the Telegram user with user_id equal to the one set in the apprise.yml file will be able to use the bot.

The program is fully compatible with Linux and Windows through WSL, further compatibility testing needs to be done for native Windows and MacOS.

Installation

Python 3 is required.
BTB-manager-telegram should be installed in the same parent directory as Binance Trade Bot.
Your filesystem should look like this:

.
└── *parent_dir*
    ├── BTB-manager-telegram
    └── binance-trade-bot
  1. Clone this repository:
$ git clone https://github.com/lorcalhost/BTB-manager-telegram.git
  1. Move to BTB-manager-telegram's directory:
$ cd BTB-manager-telegram
  1. Install BTB-manager-telegram's dependencies:
$ python3 -m pip install -r requirements.txt

Make sure the correct rwx permissions are set and the program is run with correct privileges.

(Optional) Setup Docker image

CLICK ME To run _Binance Trade Bot Manager Telegram_ inside a Docker container you must first make sure to have your _binance-trade-bot_ installation directory inside the _BTB-manager-telegram_ one. Your filesystem should look like this:
.
└── *parent_dir*
    └── BTB-manager-telegram
        └── binance-trade-bot

For quickly setting up the filesystem as intended you can run the docker_setup.py script:

$ python3 docker_setup.py

docker_setup.py also takes the following optional arguments:

optional arguments:
  -m, --make-image    Create a docker image for the bot.
  -u, --update-image  Update the docker image for the bot.
  -D, --delete-image  Delete the docker image for the bot.

Usage

Run normally

BTBManagerTelegram can be run directly by executing the following command:

# Run normally
$ python3 -m btb_manager_telegram

# If the bot is running on a server you may want to keep it running even after ssh connection is closed by using nohup
$ nohup python3 -m btb_manager_telegram &

Make sure Binance Trade Bot's apprise.yml file is correctly setup before running.

Note:
If Binance Trade Bot and BTB-Manager-Telegram were not installed in the same parent directory or you want to use different token and user_id from the ones in the apprise.yml file, the following optional arguments can be used:

optional arguments:
  -p PATH, --path PATH  (optional) binance-trade-bot installation absolute path
  -t TOKEN, --token TOKEN
                        (optional) Telegram bot token
  -u USER_ID, --user_id USER_ID
                        (optional) Telegram user id
  -d DOCKER, --docker DOCKER
                        (optional) Run the script in a docker container.
                        NOTE: Run the 'docker_setup.py' file before passing this flag.

Run inside a Docker container

To run Binance Trade Bot Manager Telegram in a Docker container you can do the following after setting up the image:

$ python3 -m btb_manager_telegram --docker

Due to the nature of Docker containers, whenever you use the Update Telegram Bot feature, only the repository inside the container will be updated while the one on your filesystem will remain untouched.

Interaction

Interaction with BTBManagerTelegram can be started by sending the /start command in the bot's Telegram chat.
Every time the Telegram bot is restarted the /start command should be sent again.

Screenshots

CLICK ME

         


Troubleshooting

1. I am sending the /start command to the bot but it's not answering:

CLICK ME

Usually when this happens it means that you haven't properly setup your apprise.yml file.
For security reasons the bot is programmed so that it only responds to the person with user_id equal to the one set in the Telegram URL inside the apprise.yml file.

Example of apprise.yml file:

version: 1
urls:
  - tgram://123456789:AABx8iXjE5C-vG4SDhf6ARgdFgxYxhuHb4A/606743502

In this URL:

  • 123456789:AABx8iXjE5C-vG4SDhf6ARgdFgxYxhuHb4A is the bot's token
  • 606743502 is the user_id

You can find your user_id by sending a Telegram message to @userinfobot.

Note:
If the bot is not responsive after using the Update Telegram Bot function something might have gone wrong and you need to manually restart BTB Manager Telegram.


2. ERROR: Make sure that only one bot instance is running:

CLICK ME

This means that there are two or more instances of BTB-Manager-Telegram running at the same time on the same Telegram token.
To fix this error you can kill all BTB-Manager-Telegram instances and restart the Telegram bot.
You can kill the processes using the following command:

kill -9 $(ps ax | grep btb_manager_telegram | fgrep -v grep | awk '{ print $1 }')


Support the Project

Disclaimer

This project is for informational purposes only. You should not consider any such information or other material as legal, tax, investment, financial, or other advice. Nothing contained here constitutes a solicitation, recommendation, endorsement, or offer by me or any third party service provider to buy or sell any securities or other financial instruments in this or in any other jurisdiction in which such solicitation or offer would be unlawful under the securities laws of such jurisdiction.

If you plan to use real money, USE AT YOUR OWN RISK.

Under no circumstances will I or the project's maintainers be held responsible or liable in any way for any claims, damages, losses, expenses, costs, or liabilities whatsoever, including, without limitation, any direct or indirect damages for loss of profits.

Developed for love of task automation by Lorenzo Callegari
Comments
  • File can't be found

    File can't be found

    Hi awesome guys and thanks for this awesome bot!

    When trying to run the bot with: python -m btb_manager_telegram -t xxxxx -c xxxxx

    It will tell me (on Pycharm): [WInError 2] The system could not find the file.

    unknown

    When running it with: (venv) C:\Users\Nesin\PycharmProjects\binance-trade-bot>cd C:\Users\Nesin\PycharmProjects\BTB-manager-telegram

    (venv) C:\Users\Nesin\PycharmProjects\BTB-manager-telegram>python -m btb_manager_telegram -p binance-trade-bot 2021-05-10 03:47:20,154 - btb_manager_telegram_logger - INFO - Retrieving Telegram token and chat_id from apprise.yml file. 2021-05-10 03:47:20,154 - btb_manager_telegram_logger - ERROR - Unable to find apprise.yml file at "binance-trade-bot\config/apprise.yml". Aborting.

    unknown-1

    What am I doing wrong?

    opened by Nesonica 27
  • Add the ability to have a second currency on the list

    Add the ability to have a second currency on the list

    Uses a new config/custom.json file (example included) to allow user to pass in a second currency, that will be listed under the default one

    e.g.

    Current coin XLM:

    • Balance: 55.8461 XLM
    • Exchange rate purchased: 0.3394 USDT/XLM
    • Exchange rate now: 0.3375 USD/XLM
    • Change in value: 0.97 %
    • Value in USD: 18.85 USD
    • Value in GBP: 13.7 GBP
    • Value in BTC: 0.0003993 BTC

    Will default back to not show the message, if either turned off via the custom.json or the custom.json file has not been created.

    type:enhancement warn:do not merge yet 
    opened by karl0ss 24
  • Bot doesn't respond to commands after starting the trading bot using the telegram command

    Bot doesn't respond to commands after starting the trading bot using the telegram command

    Hi, I'm having trouble with the bot when starting the bot with nohup: python3 -m btb_manager_telegram after clicking "Start trade bot" the bot displays the crypto_trading_logger but then stops responding to my commands I click "Back" but nothing happens. I lose all control unless i kill it terminal and restart again and hit the stop bot then i get successfully close the bot , using tag v1.1.1

    Related to #138

    opened by ToTheMoon365 17
  • i18n translation other than en break bot commands

    i18n translation other than en break bot commands

    Traceback (most recent call last):
      File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "/home/ubuntu/titus/BTB-manager-telegram/btb_manager_telegram/__main__.py", line 149, in <module>
        main()
      File "/home/ubuntu/titus/BTB-manager-telegram/btb_manager_telegram/__main__.py", line 97, in main
        from btb_manager_telegram import handlers
      File "/home/ubuntu/titus/BTB-manager-telegram/btb_manager_telegram/handlers.py", line 665, in <module>
        FALLBACK_HANDLER = CommandHandler(i18n.t("keyboard.fb_cancel"), cancel)
      File "/home/ubuntu/titus/BTB-manager-telegram/venv/lib/python3.8/site-packages/telegram/ext/commandhandler.py", line 163, in __init__
        raise ValueError('Command is not a valid bot command')
    ValueError: Command is not a valid bot command
    
    opened by titulebolide 17
  • Problem with starting the bot

    Problem with starting the bot

    Has a problem with starting the bot. I get this message:

    E:\btbm>python3 -m btb_manager_telegram C:\Users\Jaszczur\AppData\Local\Programs\Python\Python39\python3.exe: No module named btb_manager_telegram

    type:not a bug 
    opened by Jaszczur11 16
  • Bot stats

    Bot stats

    It is the follow up from #210 since @ullasbharadwaj deleted his repo

    What's left to do:

    • [x] Use the table.tabularize tables instead of prettytable
    • [x] Take care that long coin list will not trigger Too long message errors
    • [x] Use translation files for bot_stats
    • [x] Fix type issue with tables (floats are not recognized as floats, hence display issues)
    • [x] Choose how to display profits
    type:enhancement warn:do not merge yet priority:high phase:draft 
    opened by titulebolide 12
  • [python] Implementing ability to run bot in a docker container

    [python] Implementing ability to run bot in a docker container

    Changed the BTBManagerTelegram.py to make it so that a --docker flag can be passed in, which will allow the script to run in a docker container

    The container is: python:3 and uses the Dockerfile to make a temporary image in which the script will be run.

    So, to normally run the script:

    python3 BTBManagerTelegram.py
    

    And to run inside a docker container:

    python3 BTBManagerTelegram.py --docker
    
    opened by NovusEdge 12
  • Added 'Snapshot', 'Z Report' in the 'Configuration'.

    Added 'Snapshot', 'Z Report' in the 'Configuration'.

    Snapshot: gets Account Snapshot from Binance API. That needs some visual improvements. Any help will be persiaded. Z report: Shows last 10 trades that have written to database.

    warn:do not merge yet 
    opened by werim 10
  • Can't parse entities: character '-' is reserved and must be escaped with the preceding '\'

    Can't parse entities: character '-' is reserved and must be escaped with the preceding '\'

    Hello, I tried to run the bot for the first time and got these errors

    2021-04-27 14:36:17,369 - btb_manager_telegram_logger - INFO - Retrieving Telegram token and chat_id from apprise.yml file.
    2021-04-27 14:36:17,370 - btb_manager_telegram_logger - INFO - Successfully retrieved Telegram configuration. The bot will only respond to user in the chat with chat_id XXXXXXX
    2021-04-27 14:36:18,372 - btb_manager_telegram_logger - INFO - Checking for updates.
    2021-04-27 14:36:20,754 - apscheduler.scheduler - INFO - Scheduler started
    2021-04-27 14:36:28,630 - btb_manager_telegram_logger - INFO - Started conversation.
    2021-04-27 14:36:28,818 - telegram.ext.dispatcher - ERROR - No error handlers are registered, logging exception.
    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/ext/dispatcher.py", line 442, in process_update
        handler.handle_update(update, self, check, context)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/ext/conversationhandler.py", line 549, in handle_update
        new_state = handler.handle_update(update, dispatcher, check_result, context)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/ext/handler.py", line 160, in handle_update
        return self.callback(update, context)
      File "/Users/XXXXXX/BTB-manager-telegram/btb_manager_telegram/handlers.py", line 251, in start
        update.message.reply_text(
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/message.py", line 689, in reply_text
        return self.bot.send_message(
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/bot.py", line 127, in decorator
        result = func(*args, **kwargs)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/bot.py", line 475, in send_message
        return self._message(  # type: ignore[return-value]
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/bot.py", line 296, in _message
        result = self._post(endpoint, data, timeout=timeout, api_kwargs=api_kwargs)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/bot.py", line 259, in _post
        return self.request.post(
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/utils/request.py", line 349, in post
        result = self._request_wrapper(
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telegram/utils/request.py", line 272, in _request_wrapper
        raise BadRequest(message)
    telegram.error.BadRequest: Can't parse entities: character '-' is reserved and must be escaped with the preceding '\'
    

    Have you ever seen this error ? Cheers

    type:bug 
    opened by SH-Stark 9
  • Bot doesn't respond to commands after starting the trading bot using the telegram command

    Bot doesn't respond to commands after starting the trading bot using the telegram command

    Im having trouble with the bot. after clicking "Start trade bot" the bot displays the crypto_trading_logger but then stops responding to my commands I click "Back" but nothing happens. The only thing that worked for me is starting the trading bot and the telegram bot separately. But then when I try to restart it using the commands I fall into the same problem.

    opened by sokffa 8
  • Clicking buttons in the 'Configurations' tab throw errors

    Clicking buttons in the 'Configurations' tab throw errors

    Hey there, thank you for the wonderful bot! Trying to understand where my issue lies here.

    Every button (except 'Read last log lines') throws an error like this:

    Traceback (most recent call last):
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\psutil\_pswindows.py", line 780, in cmdline
        ret = cext.proc_cmdline(self.pid, use_peb=True)
    PermissionError: [WinError 5] Access is denied: '(originated from OpenProcess)'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\psutil\_pswindows.py", line 679, in wrapper
        return fun(self, *args, **kwargs)
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\psutil\_pswindows.py", line 695, in wrapper
        return fun(self, *args, **kwargs)
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\psutil\_pswindows.py", line 783, in cmdline
        ret = cext.proc_cmdline(self.pid, use_peb=False)
    PermissionError: [WinError 5] Access is denied: '(originated from OpenProcess)'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\telegram\ext\dispatcher.py", line 442, in process_update
        handler.handle_update(update, self, check, context)
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\telegram\ext\conversationhandler.py", line 549, in handle_update
        new_state = handler.handle_update(update, dispatcher, check_result, context)
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\telegram\ext\handler.py", line 160, in handle_update
        return self.callback(update, context)
      File "C:\Users\Anthony\Desktop\Binance Trade Bot\BTB-manager-telegram\btb_manager_telegram\handlers.py", line 148, in menu
        re = buttons.edit_coin()
      File "C:\Users\Anthony\Desktop\Binance Trade Bot\BTB-manager-telegram\btb_manager_telegram\buttons.py", line 364, in edit_coin
        if not get_binance_trade_bot_process():
      File "C:\Users\Anthony\Desktop\Binance Trade Bot\BTB-manager-telegram\btb_manager_telegram\utils.py", line 82, in get_binance_trade_bot_process
        name in proc.name() or name in " ".join(proc.cmdline())
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\psutil\__init__.py", line 677, in cmdline
        return self._proc.cmdline()
      File "C:\Users\Anthony\AppData\Local\Programs\Python\Python39\lib\site-packages\psutil\_pswindows.py", line 681, in wrapper
        raise convert_oserror(err, pid=self.pid, name=self._name)
    psutil.AccessDenied: psutil.AccessDenied (pid=116, name='csrss.exe')
    

    I can't decypher what it means myself, but maybe you can help.

    Thank you so much in advance!

    opened by KINOTheProducer 7
  • Remove / replace donation links and call to actions

    Remove / replace donation links and call to actions

    As it's been a long time since I made my last contribution to this repository, I would suggest the removal of all donation links and call to actions from the project;

    In alternative, it would be fair to replace them with donation links for the current main contributors to the project.

    It brings me a lot of joy to see how much the project has grown since I left development into the current maintainers' hands. A big thank you to all contributors!

    type:documentation priority:low 
    opened by lorcalhost 1
  • Only messages with `/` are received by the manager.

    Only messages with `/` are received by the manager.

    The bot can only receive messages containing / at the beginning. Happens when editing user.cfg. coin list and graphs. #197 Edit: it seems when "replying" to a former message it works without the /

    opened by MasaiasuOse 0
  • Evolve reports and auto detection of deposit and withdrawal

    Evolve reports and auto detection of deposit and withdrawal

    Todo:

    • [ ] Change report to use : /sapi/v1/accountSnapshot
    • [ ] total_usdt should be calculated either: based on the account snapshot + current coin + its value in usdt or based on usd_values from coin_value
    • [ ] Migrate to a sqlite db
    • [ ] Everytime a snapshot is made, we check for eventual deposits and withdrawal and save them in another db
    type:enhancement priority:high phase:planning 
    opened by titulebolide 0
  • Calculate min/max usd btc values with btb database

    Calculate min/max usd btc values with btb database

    I would suggest to calculate min/max USD/BTC from Coin Value table. This allows fair and true calculation irrespective of number of bots running on a single binance account.

    opened by ullasbharadwaj 9
Releases(v1.2.2)
  • v1.2.2(Jul 25, 2022)

    Enhancements

    • Update the readme

    Bugfixes

    • Fix crash on startup if trying to log an error to telegram before it was initialized
    • Fix graph data collection scheduler crash if trying to log an error to telegram but the error is too big

    Contributors

    • @stavsher
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Mar 8, 2022)

    Enhancements

    • Print progress list in the reverse direction

    Bugfixes

    • Error logging
    • Increase progress percentage column width to be able to see percentages over 100

    Translations updates

    Translation added

    • Portuguese

    Contributors

    • @TSecretT
    • @DiogoMarques2003
    • @DmytroLitvinov
    • @MasaiasuOse
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0-fix(Jan 26, 2022)

    Features

    • :rocket: Bot stats button
    • Print all the contributors id in the welcome message
    • All errors are forwarded to telegram and log level higher than warning to ease debugging and support

    Enhancements

    • Plenty of formating has been reviewed
    • 30 days BTC change in Current Value
    • Show up to 9 graphs options when choosing a graph to show
    • Reorder buttons in a logical order
    • Rename the translation folder locales
    • Check that the old process has terminated and the new one has actually started during tg bot restart

    Bugfixes

    • BTC change in Current Value button is more consistent
    • TG bot version checking don't work properly if there is a dash in the version number
    • Fix scheduler and update_reminder from failing
    • Update detection for the tg bot were swapped with btb
    • Scheduler imports were improperly handled, causing closing to hang
    • Reports were taken every 10 seconds

    Translations updates

    • German
    • Spanish
    • Indonesian
    • French
    • Dutch

    Translation added

    • Simplified Chinese

    Contributors

    • @ullasbharadwaj
    • @maromalo
    • @DmytroLitvinov
    • @MasaiasuOse
    • @renkasiyas
    • @SunBooster
    • @KevinTroyT
    • @phoenix-blue
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0-rc3(Jan 24, 2022)

    Features

    • :rocket: Bot stats button
    • Print all the contributors id in the welcome message
    • All errors are forwarded to telegram and log level higher than warning to ease debugging and support

    Enhancements

    • Plenty of formating has been reviewed
    • 30 days BTC change in Current Value
    • Show up to 9 graphs options when choosing a graph to show
    • Reorder buttons in a logical order
    • Rename the translation folder locales
    • Check that the old process has terminated and the new one has actually started during tg bot restart

    Bugfixes

    • BTC change in Current Value button is more consistent
    • TG bot version checking don't work properly if there is a dash in the version number
    • Fix scheduler and update_reminder from failing
    • Update detection for the tg bot were swapped with btb

    Translations updates

    • German
    • Spanish
    • Indonesian
    • French

    Translation added

    • Simplified Chinese

    Contributors

    • @ullasbharadwaj
    • @maromalo
    • @DmytroLitvinov
    • @MasaiasuOse
    • @renkasiyas
    • @SunBooster
    • @KevinTroyT
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0-rc2(Jan 19, 2022)

    Features

    • :rocket: Bot stats button
    • Print all the contributors id in the welcome message

    Enhancements

    • Plenty of formating has been reviewed
    • 30 days BTC change in Current Value
    • Show up to 9 graphs options when choosing a graph to show
    • Reorder buttons in a logical order

    Bugfixes

    • BTC change in Current Value button is more consistent
    • TG bot version checking don't work properly if there is a dash in the version number
    • Fix scheduler and update_reminder from failing

    Translations updates

    • German
    • Spanish
    • Indonesian
    • French

    Translation added

    • Simplified Chinese

    Contributors

    • @ullasbharadwaj
    • @maromalo
    • @DmytroLitvinov
    • @MasaiasuOse
    • @renkasiyas
    • @SunBooster
    • @KevinTroyT
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0-rc1(Jan 13, 2022)

    Features

    • :rocket: Bot stats button
    • Print all the contributors id in the welcome message

    Enhancements

    • Plenty of formating has been reviewed
    • 30 days BTC change in Current Value

    Bugfixes

    • BTC change in Current Value button is more consistent

    Translations updates

    • German
    • Spanish
    • Indonesian
    • French

    Contributors

    • @ullasbharadwaj
    • @maromalo
    • @DmytroLitvinov
    • @MasaiasuOse
    • @renkasiyas
    • @SunBooster
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Jan 3, 2022)

    Enhancements

    • Translations
    • Save BTBMT's process id in the file btbmt.pid in order to kill easily the bot if it running with nohup

    Bugfix

    • /start is now usable anytime, in particular if the previous message is deleted
    • Graph proposition are now properly sorted from the most used one to the least used one
    • Prevent snapshot from stopping being taken if there is an issue when try to take one

    Contributors

    • @MasaiasuOse
    • @QuentinLuppo
    • @DmytroLitvinov
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Dec 16, 2021)

    Features

    • Display next coin and current ratios as tables
    • Trigger update notification for the telegram bot only when a new tag is issued

    Enhancements

    • Rework readme structure
    • Add indonesian translation
    • Other translation improvements

    Bugfix

    • Various fixes for graphs

    Contributors

    • @SunBooster
    • @DmytroLitvinov
    • @kelecheck
    • @titulebolide
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Dec 3, 2021)

    This is the list of updates since 955e6f2f62e068c3002ad7a84e704e145be9399e.

    Features

    • Plot evolution of your holding in many currencies
    • Add translations
    • Development tools to check and update translation files

    Enhancements

    • Update notification frequency changed from 12 hours to 7 days

    Bugfixes

    • Restore scheduler periodic behavior
    • BTC change for Tntwist and edeng23 forks
    • Specify to use python3.9 in docker
    • Put back sold and bough in the proper order
    • Flood control exceeded (#66)

    Translations added

    • English
    • Russian
    • Dutch
    • German
    • French
    • Spanish

    Contributors

    • @Lisiadito
    • @neuhausj
    • @shhhmel
    • @phoenix-blue
    • @MasaiasuOse
    • @FedeArre
    • @santiagocarod
    • @hieu0nguyen
    Source code(tar.gz)
    Source code(zip)
Owner
Lorenzo Callegari 乐子睿
Computer Engineering @ Politecnico di Torino & ICT Engineering @ Tongji University (同济大学)
Lorenzo Callegari 乐子睿
A simple python discord bot with commands for moderation and utility.

Discord Bot A simple python discord bot with commands for moderation, utility and fun. Moderation $kick user reason - Kick a user from the server

syn 3 Feb 06, 2022
Project for QVault Hackathon which plays sounds based on the letters of a user's name

virtual_instrument Project for QVault Hackathon which plays sounds based on the letters of a user's name I created a virtual instrument using Python a

Paolo Sidera 2 Feb 11, 2022
A simple tool that allows you to change your default AWS CLI profile.

Select AWS Profile Select AWS Profile (slapr) is a simple tool that lets you select which AWS Profile you want to use and sets it as the default AWS p

Antoni Yanev 2 Nov 09, 2022
TG-Url-Uploader-Bot - Telegram RoBot to Upload Links

MW-URL-Uploader Bot Telegram RoBot to Upload Links. Features: 👉 Only Auth Users

Aadhi 3 Jun 27, 2022
Implement backup and recovery with AWS Backup across your AWS Organizations using a CI/CD pipeline (AWS CodePipeline).

Backup and Recovery with AWS Backup This repository provides you with a management and deployment solution for implementing Backup and Recovery with A

AWS Samples 8 Nov 22, 2022
Reddit cli to slack at work

Reddit CLI (v1.0) Introduction Why Reddit CLI? Coworker who sees me looking at something in a browser: "Glad you're not busy; I need you to do this, t

3 Jun 22, 2021
Exporta archivos masivamente del TEC Digital.

TEC Digital Files Exporter Script que permite exportar los archivos de cursos del TEC Digital del Instituto Tecnológico de Costa Rica, debido al borra

Joseph Vargas 22 Apr 08, 2021
RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.

RichWatch is TUI (Textual User Interface) for AWS Cloud Watch. It formats and pretty prints Cloud Watch's logs so they are much more readable. Because

21 Jul 25, 2022
Video-Player - Telegram Music/ Video Streaming Bot Using Pytgcalls

Video Player 🔥 ᴢᴀɪᴅ ᴠᴄ ᴘʟᴀyᴇʀ ɪꜱ ᴀ ᴛᴇʟᴇɢʀᴀᴍ ᴘʀᴏᴊᴇᴄᴛ ʙᴀꜱᴇᴅ ᴏɴ ᴘʏʀᴏɢʀᴀᴍ ꜰᴏʀ ᴘʟᴀʏ

Zaid 16 Nov 30, 2022
Python client library for Bigcommerce API

Bigcommerce API Python Client Wrapper over the requests library for communicating with the Bigcommerce v2 API. Install with pip install bigcommerce or

BigCommerce 81 Dec 26, 2022
A modular telegram Python bot running on python3 with an sqlalchemy database.

Saber A modular telegram Python bot running on python3 with an sqlalchemy database. Originally a marie fork - Saber has evolved further and was built

ZERO • アクバル . 4 Nov 09, 2021
A self-hosted Discord music bot.

Cassette A self-hosted Discord music bot. Requirements py-cord pynacl pytube Setup Intended to be hosted on Heroku. Fork or clone this repo. Create a

Lohan 8 Apr 28, 2022
An advanced Filter Bot with nearly unlimitted filters!

Unlimited Filter Bot ㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤ An advanced Filter Bot with nearly unlimitted filters! Features Nearly unlimited filters Supports all type of fil

TroJanzHEX 445 Jan 03, 2023
VALORANT rank yoinker lets you retrieve the ranks and basic informations of everyone in the lobby, regardless of gamemode.

vRY VALORANT rank yoinker Retrieve the rank and basic information of everyone in the lobby, regardless of gamemode. Table of Contents Terms of Use Abo

Isaac Kenyon 270 Dec 30, 2022
Signs the target email up to over 1000 different mailing lists to get spammed each day.

Email Bomber Say goodbye to that email Features Signs up to over 1k different mailing lists Written in python so the program is lightweight Easy to us

Loxdr 1 Nov 30, 2021
🐍 The official Python client library for Google's discovery based APIs.

Google API Client This is the Python client library for Google's discovery based APIs. To get started, please see the docs folder. These client librar

Google APIs 6.2k Jan 08, 2023
VideocompBot - This is TG Video Compress BoT. Prouduct By BINARY Tech 💫

VideocompBot - This is TG Video Compress BoT. Prouduct By BINARY Tech 💫

1 Jan 04, 2022
A Python wrapper around the OpenWeatherMap web API

PyOWM A Python wrapper around OpenWeatherMap web APIs What is it? PyOWM is a client Python wrapper library for OpenWeatherMap (OWM) web APIs. It allow

Claudio Sparpaglione 740 Dec 18, 2022
Docker image for epicseven gvg qq chatbot based on Xunbot

XUN_Langskip XUN 是一个基于 NoneBot 和 酷Q 的功能型QQ机器人,目前提供了音乐点播、音乐推荐、天气查询、RSSHub订阅、使用帮助、识图、识番、搜番、上车、磁力搜索、地震速报、计算、日语词典、翻译、自我检查,权限等级功能,由于是为了完成自己在群里的承诺,一时兴起才做的,所

Xavier Xiong 2 Jun 08, 2022
Python client and API for monitoring and controling energy diversion devices from MyEnergi

Python client and API for monitoring and controling energy diversion devices from MyEnergi A set of library functions and objects for interfacing with

1 Dec 17, 2021