Skip to content

mellaught/telegrambottest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

BipExchangeBot

Описание

Бот является копией сервиса по обмену bib.dev

Установка

1. Установить postgreSQL. BipExchangeBot используется 11.
2. Создать базу данных.
3. Установить параметры .ENV

Возможности сервиса.

  • Показать текущий курс BIP/USD.
  • Покупка BIP.
  • Продать BIP.
  • Показать лоты на продажу.

Возможности бота.

  • Отображение привествия.
  • Команда start.
  • Команда settings. Для изменения языка.
  • Переделать главное меню из кнопок в клавиатуру.
  • Сделать возможность показать bitcoin адреса, которые вводил ранее пользователь как подсказки.
  • Сделать возможность показать minter адреса, которые вводил ранее пользователь как подсказки.
  • Сделать возможность показать email адреса, которые вводил ранее пользователь как подсказки.
  • Сделать возможность выбор цены за монеты из предложенных.

Показать текущий курс.

Бот выполняет запрос и получает текующий курс.

Покупка BIP.

  1. При нажатии кнопки "Купить BIP" бот собирает данные: минтер адрес (куда прислать купленные BIP) и email адрес.
  2. Бот передает собранные данный в запрос и получает адрес для депозита.
  3. При отправки адреса запускается горутина CheckStatusBuy. Таймер по умолчанию установлен на 2 минуты - время для депозита BTC. 4. По истечению этого времени бот прекращает мониторить эту операцию и выходит из горутины.
  4. Если деньги пришли вовремя, то бот отправляет уведомление новый депозит и начинает опрос пока у транзакции перевода BTC не будет 2 подтверждения.
  5. Как только это случилось, то бот отправляет уведомление, что обмен успешен и монеты BIP пришли на счет.

Продать BIP.

  1. При нажатии кнопки "Продать BIP" бот собирает данные: биткоин адрес (куда прислать btc с проданных BIP) и название монеты, цену за монету.
  2. Бот передает собранные данный в запрос и получает адрес для депозита и тэг.
  3. При отправки адреса запускается горутина CheckStatusSell. Таймер по умолчанию установлен на 2 минуты - время для депозита BIP.
  4. По истечению этого времени бот прекращает мониторить эту операцию и выходит из горутины.
  5. Если деньги пришли вовремя, то бот отправляет уведомление новый депозит.
  6. Лот сохраняется в базу данных.
  7. Каждый раз как только пользователь пишет боту, обновляется история его адреса и информация сколько было продано монет с лота.
  8. Если количество монет не изменилось с момента их внесения за неделю, то лот удалятся из базы данных.

Показать лоты на продажу.

  1. При нажатии на кнопку "Показать лоты на продажу" бот делает запрос к базе данных, получая все лоты, связанные с ID пользователя и отправляя ему: уникальный tag, название монеты, цену за монету, остаток монет, дату последней покупки монет и дату размещения лота.
 Tag:  FFY37X9kRfvf
 Coin:  MNT     Price:  1000
 Amount:  1000
 Minted address:  Mx1188d4944ceb8eb7bfed553a35461
 Created at:  2019-08-27 16:48:12
 Last sell at:  2019-08-27 16:52:26

База данных.

Реляционная база данных PostgeSQL 11. 

Таблицы

  • Users. Хранит язык, который выбрал пользователь.
create table if not exists users (
	id INT NOT NULL,
   	chat_id BIGINT NOT NULL,
   	lang VARCHAR(8),
   	PRIMARY KEY (id)
);
  • Loots. Хранит информации о размещении лота пользователем и истории продажи этих монет.
create table if not exists loots (
	id SERIAL,
	user_id INT NOT NULL,
	tag VARCHAR(255),
	coin VARCHAR(255),
	price INT,
	amount VARCHAR(255),
	minter_address VARCHAR(255),
	created_at timestamp,
	last_sell_at timestamp,
	PRIMARY KEY (id),
	FOREIGN KEY (user_id) REFERENCES users (id)
); 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published