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 乐子睿
go-cqhttp API typing annoations, return data models and utils for nonebot

go-cqhttp API typing annoations, return data models and utils for nonebot

风屿 6 Jan 04, 2023
Python Client for Instagram API

This project is not actively maintained. Proceed at your own risk! python-instagram A Python 2/3 client for the Instagram REST and Search APIs Install

Facebook Archive 2.9k Dec 30, 2022
Coinbase Pro API interface framework and tooling

neutrino This project has just begun. Rudimentary API documentation Installation Prerequisites: Python 3.8+ and Git 2.33+ Navigate into a directory of

Joshua Chen 1 Dec 26, 2021
A simple script that will watch a stream for you and earn the channel points.

Credits Main idea: https://github.com/gottagofaster236/Twitch-Channel-Points-Miner Bet system (Selenium): https://github.com/ClementRoyer/TwitchAutoCo

Alessandro Maggio 1.1k Jan 08, 2023
A telegram to pyrogram json bot

Pyrogram-Json-Bot A telegram to pyrogram json bot Please fork this repository don't import code Made with Python3 (C) @FayasNoushad Copyright permissi

Fayas Noushad 11 Dec 20, 2022
Reads and prints information from the website MalAPI.io

MalAPIReader Reads and prints information from the website MalAPI.io optional arguments:

Squiblydoo 16 Nov 10, 2022
A python notification tool used for sending you text messages when certain conditions are met in the game, Neptune's Pride.

A python notification tool used for sending you text messages when certain conditions are met in the game, Neptune's Pride.

Paul Clarke 1 Jan 16, 2022
Simple progressbar for discord

⚙️ DiscordProgressbar 📂 Установка | Installation pip install discordbar 📚 Документация | Documentation 📞 Связаться со мной | Сontact with me 📜 Ли

DenyS 26 Nov 30, 2022
Python package for Calendly API v2

PyCalendly Python package to use Calendly API-v2. Installation Install with pip $ pip install PyCalendly Usage Getting Started See Getting Started wi

Lakshmanan Meiyappan 20 Dec 05, 2022
FTP Anonymous Login

FTPAnon FTP Anonymous Login Install git clone https://github.com/SiThuTuntimehacker/FTPAnon cd FTPAnon bash install.sh access ftp sever " ftpaccess.tx

SiThuTun 3 Mar 23, 2022
Discord spam bots with multiple account support and more

Discord spam bots with multiple account support and more. PLEASE READ EVERYTHING BEFORE WRITING AN ISSUE!! Server Messages Text Image Dm Messages Text

Mr. Nobody 6 Sep 14, 2022
A simple Python wrapper for the Amazon.com Product Advertising API ⛺

Amazon Simple Product API A simple Python wrapper for the Amazon.com Product Advertising API. Features An object oriented interface to Amazon products

Yoav Aviram 789 Dec 26, 2022
PR Changes Matrix Builder

Pr-changes-matrix-builder - A Github Action that will output a variable to be used in a matrix strategy job based on a PR&'s changes

Kyle James Walker (he/him) 21 Oct 04, 2022
inventory replenishment for a hospital.

Inventory-Replenishment Inventory-Replenishment for a hospital that would like to explore how advanced anlytics may help automate their decision proce

1 Jan 09, 2022
Video Stream: an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat

Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat 🧪 Get SESSION_NAME from below: Pyrogram

Jonathan 6 Feb 08, 2022
A simple bot discord in PY with moderation controls

Voila un bot discord en py avec les commandes simples de modération tout simplement faut changer les lignes 70 vous mettez votre token de votre bot 53

Ethan 1 Nov 20, 2021
Exports saved posts and comments on Reddit to a csv file.

reddit-saved-to-csv Exports saved posts and comments on Reddit to a csv file. Columns: ID, Name, Subreddit, Type, URL, NoSFW ID: Starts from 1 and inc

70 Jan 02, 2023
Python API for Photoshop.

Python API for Photoshop. The example above was created with Photoshop Python API.

Hal 372 Jan 02, 2023
RequestTrackerBot - Request Tracker Bot With Python

Request Tracker Bot This is a Request Tracker Bot repo, It is for those who uplo

Prince Jaiswal 1 Dec 30, 2021
Telegram bot that let's you flip a coin in a dialog

coin_flip Telegram bot that let's you flip a coin in a dialog Report issue · Request feature About Software development tool that lets you finally dec

Ivan Akostelov 2 Dec 12, 2021