Skip to content

Commit 31f6cbd

Browse files
authored
Merge pull request #118 from ilyarolf/develop
update readme.md
2 parents b1ec0e5 + 2fdc4c8 commit 31f6cbd

1 file changed

Lines changed: 26 additions & 19 deletions

File tree

readme.md

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
[![Bitcoin](https://img.shields.io/badge/Bitcoin-FF9900?logo=bitcoin&logoColor=white)](https://github.com/bitcoin/bitcoin)
1717
[![Litecoin](https://img.shields.io/badge/Litecoin-A6A9AA?logo=litecoin&logoColor=white)](https://github.com/litecoin-project/litecoin)
1818
[![Solana](https://img.shields.io/badge/Solana-9945FF?logo=solana&logoColor=fff)](https://github.com/solana-labs/solana)
19-
[![Tron](https://i.imgur.com/x14HuEg.png)](https://github.com/tronprotocol)
20-
[![Tether](https://img.shields.io/badge/Tether-168363?&logo=tether&logoColor=white)](https://tether.to/ru/)
19+
[![Ethereum](https://img.shields.io/badge/Ethereum-3C3C3D?logo=ethereum&logoColor=white)](https://github.com/ethereum)
20+
[![BinanceCoin](https://img.shields.io/badge/Binance-FCD535?logo=binance&logoColor=000)](https://github.com/binance)
2121

2222
**AiogramShopBot is a software product based on Aiogram3 and SQLAlchemy that allows you to automate sales of digital
2323
goods in Telegram. One of the bot's advantages is that AiogramShopBot implements the ability to top up with Bitcoin,
24-
Litecoin, Solana and stablecoins in the TRC20 and ERC20 networks, which allows you to sell digital goods worldwide.**
24+
Litecoin, Solana, Ethereum and Binance-Coin, which allows you to sell digital goods worldwide.**
2525

2626
* [🤝 Commercial offers](#commercial-offers)
2727
+ [➤ Telegram. ](#-for-commercial-offers-contact-me-on-telegram)
@@ -58,6 +58,8 @@ Litecoin, Solana and stablecoins in the TRC20 and ERC20 networks, which allows y
5858
+ [3.6 🔔 Admin notifications](#36--admin-notifications)
5959
- [3.6.1 Notification to admin about new deposit](#361-notification-to-admin-about-new-deposit)
6060
- [3.6.2 Notification to admin about new buy](#362-notification-to-admin-about-new-buy)
61+
+ [3.8 👛 Wallet](#38--wallet)
62+
- [3.8.1 Cryptocurrency withdrawal](#381-cryptocurrency-withdrawal-functionality)
6163
* [4.0 Multibot (Experimental functionality)](#40-multibot-experimental-functionality)
6264
+ [4.1 Starting the multibot](#41-starting-the-multibot)
6365
* [📋 Todo List](#-todo-list)
@@ -90,7 +92,6 @@ Litecoin, Solana and stablecoins in the TRC20 and ERC20 networks, which allows y
9092
| WEBHOOK_PATH | The path to the webhook where Telegram servers send requests for bot updates. It is not recommended to change it if only one bot will be deployed. In case several bots will be deployed on the same server, it will be necessary to change it, because there will be path collision (Does not apply to the multibot case). | "" (empty string) |
9193
| WEBAPP_HOST | Hostname for Telegram bot, it is not recommended to change in case you use docker-compose. | For docker-compose="0.0.0.0".<br/>For local deployment="localhost". |
9294
| WEBAPP_PORT | Port for Telegram bot, if you plan to deploy several bots on the same server, you will need to assign a different port to each one (Not relevant to the multibot case). | No recommended value |
93-
| WEBHOOK_SECRET_TOKEN | Required variable, used to protect requests coming from Telegram servers from spoofing. | Any string you want |
9495
| TOKEN | Token from your Telegram bot, you can get it for free in Telegram from the bot of all bots with the username @botfather. | No recommended value |
9596
| ADMIN_ID_LIST | List of Telegram id of all admins of your bot. This list is used to check for access to the admin menu. | No recommended value |
9697
| SUPPORT_LINK | A link to the Telegram profile that will be sent by the bot to the user when the “Help” button is pressed. | https://t.me/${YOUR_USERNAME_TG} |
@@ -101,19 +102,20 @@ Litecoin, Solana and stablecoins in the TRC20 and ERC20 networks, which allows y
101102
| PAGE_ENTRIES | The number of entries per page. Serves as a variable for pagination. | 8 |
102103
| BOT_LANGUAGE | The name of the .json file with the l10n localization. At the moment only English localization is supplied out of the box, but you can make your own if you create a file in the l10n folder with the same keys as in l10n/en.json. | "en" or "de" |
103104
| MULTIBOT | Experimental functionality, allows you to raise several bots in one process. And there will be one main bot, where you can create other bots with the command “/add $BOT_TOKEN”. Accepts string parameters “true” or “false”. | "false" |
104-
| ETHPLORER_API_KEY | API Key from ethplorer.io, used to get ERC20 balances. | No recommended value |
105105
| CURRENCY | Currency to be used in the bot. | "USD" or "EUR" or "JPY" or "CAD" or "GBP" |
106106
| RUNTIME_ENVIRONMENT | If set to "dev", the bot will be connected via an ngrok tunnel. "prod" will use [Caddy](https://hub.docker.com/r/lucaslorentz/caddy-docker-proxy) as reverse proxy together with your public hostname | "prod" or "dev" |
107-
| REDIS_HOST | Required variable, needed to make the throttling mechanism work. | "redis" for docker-compose.yml |
107+
| WEBHOOK_SECRET_TOKEN | Required variable, used to protect requests coming from Telegram servers from spoofing. | Any string you want |
108+
| KRYPTO_EXPRESS_API_KEY | API KEY from KryptoExpress profile | No recommended value |
109+
| KRYPTO_EXPRESS_API_URL | API URL from KryptoExpress service | https://KryptoExpress.pro/api |
110+
| KRYPTO_EXPRESS_API_SECRET | Required variable, used to protect requests coming from KryptoExpress servers from spoofing. | Any string you want |
108111
| REDIS_PASSWORD | Required variable, needed to make the throttling mechanism work. | Any string you want |
109-
| KRYPTO_EXPRESS_API_KEY | API KEY from KryptoExpress profile | No recommended value |
110-
| KRYPTO_EXPRESS_API_URL | API URL from KryptoExpress service | https://KryptoExpress.pro/api |
111-
| KRYPTO_EXPRESS_API_SECRET | Required variable, used to protect requests coming from KryptoExpress servers from spoofing. | Any string you want |
112+
| REDIS_HOST | Required variable, needed to make the throttling mechanism work. | "redis" for docker-compose.yml |
112113

113114
### 1.1 Starting AiogramShopBot with Docker-compose.
114115

115-
* Clone the project.<br>``git clone git@github.com:ilyarolf/AiogramShopBot.git``
116+
* Clone the project.<br>``git clone https://github.com/ilyarolf/AiogramShopBot.git``
116117
* Set environment variables in .env file.
118+
* Set your domain in the docker-compose.yml file to the bot service in the labels caddy section. {YOUR_IP_ADDRESS}.sslip.io
117119
* Run the ``docker-compose up`` command.
118120

119121
#### Development and production mode
@@ -122,7 +124,7 @@ For local development on a computer which is not internet facing, set the "RUNTI
122124
be connected via an ngrok tunnel.
123125
> **Note**
124126
> **<br>To get the ngrok token, you need to register on the ngrok website and confirm your email. Then you will have the
125-
ngrok token in your personal account.**
127+
ngrok token in your personal account.<br>You will still need Redis.**
126128
127129
On an internet facing production system you can either set your own hostname in the caddy label (in the template shown
128130
with "YOUR_DOMAIN_GOES_HERE"
@@ -134,7 +136,7 @@ this case you have to remove the caddy service from the docker-compose file and
134136

135137
### 1.2 Starting AiogramShopBot without database encryption.
136138

137-
* Clone the project from the master branch. <br>``git clone git@github.com:ilyarolf/AiogramShopBot.git``
139+
* Clone the project from the master branch. <br>``git clone https://github.com/ilyarolf/AiogramShopBot.git``
138140
* Install all necessary packages <br>``pip install -r requirements.txt``
139141
* Set the environment variables to run in the .env file.<br>Example:
140142

@@ -170,7 +172,7 @@ REDIS_HOST = "localhost"
170172
> **<br>To run AiogramShopBot with database encryption via SQLCipher, you need to use Linux kernel operating systems.**
171173
172174
* Clone the project.
173-
branch.<br>``git clone git@github.com:ilyarolf/AiogramShopBot.git``
175+
branch.<br>``git clone https://github.com/ilyarolf/AiogramShopBot.git``
174176
* Install the SQLCipher package, for example in Ubuntu this can be done with the
175177
command <br>``sudo apt install sqlcipher``.
176178
* Install all necessary packages <br>``pip install -r requirements.txt``
@@ -207,10 +209,7 @@ REDIS_HOST = "localhost"
207209

208210
### 2.1 Registration
209211

210-
User registration occurs when the bot is first accessed with the ``/start`` command. Each user is assigned a different
211-
mnemonic phrase to generate BTC, LTC, USDT TRC20 crypto addresses. BTC and LTC addresses are generated according to
212-
BIP-84 standard, for USDT TRC20 the BIP-44 standard is used, this is done so that wallets can be easily imported into
213-
Trust Wallet.
212+
User registration occurs when the bot is first accessed with the ``/start`` command.
214213

215214
### 2.2 ➕ Top Up Balance
216215

@@ -220,7 +219,7 @@ Trust Wallet.
220219
* Copy cryptocurrency address, and send cryptocurrency on this address.
221220
* Once your transaction has at least one confirmation you will receive notification from the bot.
222221

223-
<br>![img](https://i.imgur.com/7RQdiPj.gif)
222+
<br>![img](https://i.imgur.com/j2l7fHc.gif)
224223

225224
### 2.3 Purchase of goods
226225

@@ -414,14 +413,22 @@ CATEGORY#1;SUBCATEGORY#1;DESCRIPTION#1;50.0;PRIVATE_DATA#8
414413
* If any user topped up the balance and clicked on the "Refresh balance" button, you will receive the following message
415414
from the bot:
416415

417-
![img](https://i.imgur.com/E75nbxy.gif)
416+
![img](https://i.imgur.com/FSXzEoW.gif)
418417

419418
#### 3.6.2 Notification to admin about new buy
420419

421420
After each purchase, you will receive a message in the format:
422421

423422
![img](https://i.imgur.com/MeRkCYD.gif)
424423

424+
### 3.8 👛 Wallet
425+
426+
#### 3.8.1 Cryptocurrency withdrawal functionality
427+
428+
To withdraw cryptocurrency from the bot, open the admin menu, go to the wallet tab, select the cryptocurrency you want to withdraw, send the cryptocurrency address where you want to withdraw and confirm the withdrawal. After a successful withdrawal, the bot will send you a link to the blockchain browser with the transaction.
429+
430+
![img](https://i.imgur.com/gjkRFVb.gif)
431+
425432
## 4.0 Multibot (Experimental functionality)
426433

427434
### 4.1 Starting the multibot

0 commit comments

Comments
 (0)