All Projects β†’ fincubator β†’ tellerbot

fincubator / tellerbot

Licence: AGPL-3.0 license
Telegram Bot for over-the-counter trading

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to tellerbot

uniswap-python
πŸ¦„ The unofficial Python client for the Uniswap exchange.
Stars: ✭ 533 (+3035.29%)
Mutual labels:  trading, currency, exchange, orderbook
stockholm
πŸ’΅ Modern Python library for working with money and monetary amounts. Human friendly and flexible approach for development. 100% test coverage + built-in support for GraphQL and Protocol Buffers transports using current best-practices.
Stars: ✭ 26 (+52.94%)
Mutual labels:  finance, currency, exchange
Cryptofeed
Cryptocurrency Exchange Websocket Data Feed Handler
Stars: ✭ 643 (+3682.35%)
Mutual labels:  trading, exchange, asyncio
hurtrade
An Open Source Forex Trading Platform
Stars: ✭ 22 (+29.41%)
Mutual labels:  finance, trading, exchange
Parity
Open source software platform for trading venues
Stars: ✭ 468 (+2652.94%)
Mutual labels:  finance, trading, exchange
Eazebot
Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.
Stars: ✭ 51 (+200%)
Mutual labels:  trading, telegram-bot, exchange
Uniswap Python
πŸ¦„ The unofficial Python client for the Uniswap exchange.
Stars: ✭ 191 (+1023.53%)
Mutual labels:  trading, currency, exchange
orderbook
A fast L2/L3 orderbook data structure, in C, for Python
Stars: ✭ 101 (+494.12%)
Mutual labels:  finance, trading, orderbook
Example Hftish
Example Order Book Imbalance Algorithm
Stars: ✭ 355 (+1988.24%)
Mutual labels:  finance, trading, asyncio
Mida
The open-source and cross-platform trading framework
Stars: ✭ 263 (+1447.06%)
Mutual labels:  finance, trading, exchange
binance-pump-bot
Automation for Binance p&d(pump and dump) activity, ensures fastest purchase and provides auto selling functionality to lockdown profit during these events.
Stars: ✭ 112 (+558.82%)
Mutual labels:  trading, exchange
portfoliolab
PortfolioLab is a python library that enables traders to take advantage of the latest portfolio optimisation algorithms used by professionals in the industry.
Stars: ✭ 104 (+511.76%)
Mutual labels:  finance, trading
algotrading-example
algorithmic trading backtest and optimization examples using order book imbalances. (bitcoin, cryptocurrency, bitmex, binance futures, market making)
Stars: ✭ 169 (+894.12%)
Mutual labels:  trading, orderbook
currency
A currency computations package.
Stars: ✭ 52 (+205.88%)
Mutual labels:  finance, currency
coinbase-pro-rs
Coinbase pro client for Rust
Stars: ✭ 127 (+647.06%)
Mutual labels:  trading, exchange
web trader
πŸ“Š Python Flask game that consolidates data from Nasdaq, allowing the user to practice buying and selling stocks.
Stars: ✭ 21 (+23.53%)
Mutual labels:  finance, trading
roq-samples
How to use the Roq C++20 API for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
Stars: ✭ 119 (+600%)
Mutual labels:  trading, exchange
tradestation-python-api
A Python Client library for the TradeStation API.
Stars: ✭ 69 (+305.88%)
Mutual labels:  finance, trading
bot-trader
Simple bot trader for Bitmex
Stars: ✭ 14 (-17.65%)
Mutual labels:  trading, exchange
futu algo
Futu Algorithmic Trading Solution (Python) εŸΊζ–Όε―Œι€”OpenAPIζ‰€ι–‹η™Όι‡εŒ–δΊ€ζ˜“η¨‹εΊ
Stars: ✭ 143 (+741.18%)
Mutual labels:  finance, trading

TellerBot

Documentation Status pre-commit Translation Status GitHub license Telegram Code style: black


@TellerBot is an asynchronous Telegram Bot written in Python to help you meet people that you can swap money with.

Requirements

  • Python >= 3.8
  • MongoDB
  • Motor - asynchronous Python driver for MongoDB
  • AIOgram - asynchronous Python library for Telegram Bot API
  • Emoji - emoji for Python

Installation and launch

Using Docker (recommended)

  1. Clone the repository:
git clone https://github.com/fincubator/tellerbot
cd tellerbot
  1. Create environment file from example:
cp .env.example .env
  1. Personalize settings by modifying .env with your preferable text editor.
  2. Create a new Telegram bot by talking to @BotFather and get its API token.
  3. Create a file containing Telegram bot's API token with filename specified in TOKEN_FILENAME from .env (example in secrets/tbtoken).
  4. (Optional) If you're going to support escrow, set ESCROW_ENABLED=true in .env and create a file containing JSON mapping blockchain names to bot's WIF and API nodes with filename specified in ESCROW_FILENAME from .env (example in secrets/escrow.json).
  5. Create a file containing database password with filename specified in DATABASE_PASSWORD_FILENAME from .env (example in secrets/dbpassword).
  6. Install Docker Compose version no less than 1.26.0.
  7. Start container:
docker-compose up --build

For subsequent launches starting container is enough.

Manual

  1. Clone the repository:
git clone https://github.com/fincubator/tellerbot
cd tellerbot
  1. Install Python version no less than 3.8 with pip.
  2. Install requirements:
pip install -r requirements.txt
pip install -r requirements-escrow.txt  # If you're going to support escrow
  1. Compile translations:
pybabel compile -d locale/ -D bot
  1. Create environment file from example:
cp .env.example .env
  1. Personalize settings by modifying .env with your preferable text editor. Remove INTERNAL_HOST and DATABASE_HOST if you want bot and database running on localhost.
  2. Create a new Telegram bot by talking to @BotFather and get its API token.
  3. Create a file containing Telegram bot's API token with filename specified in TOKEN_FILENAME from .env (example in secrets/tbtoken).
  4. (Optional) If you're going to support escrow, set ESCROW_ENABLED=true in .env and create a file containing JSON mapping blockchain names to bot's WIF and API nodes with filename specified in ESCROW_FILENAME from .env (example in secrets/escrow.json).
  5. Create a file containing database password with filename specified in DATABASE_PASSWORD_FILENAME from .env (example in secrets/dbpassword).
  6. Install and start MongoDB server.
  7. Set environment variables:
export $(sed 's/#.*//' .env | xargs)
  1. Create database user:
./mongo-init.sh
  1. Restart MongoDB server with access control enabled.
  2. Launch TellerBot:
python .

For subsequent launches setting enviroment variables and launching TellerBot is enough.

Contributing

You can help by working on opened issues, fixing bugs, creating new features, improving documentation or translating bot messages to your language.

Before contributing, please read CONTRIBUTING.md first.

License

TellerBot is released under the GNU Affero General Public License v3.0. See COPYING for the full licensing conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].