API для переводов TG->DS/...
This commit is contained in:
parent
3fae0e16f8
commit
01a4c2e2d6
@ -108,4 +108,9 @@ def get_passwd(token, id):
|
|||||||
data = {'token': token, 'id': id}
|
data = {'token': token, 'id': id}
|
||||||
return call('api/get_passwd/', data)
|
return call('api/get_passwd/', data)
|
||||||
|
|
||||||
|
def transfer_callbak(addr, token, src_id, amount):
|
||||||
|
amount = str(amount)
|
||||||
|
data = {'token': token, 'src_id': src_id, 'amount': amount}
|
||||||
|
return call(addr + 'api/get_passwd/', data)
|
||||||
|
|
||||||
#print( user_in_db('ee77b9d8-44f3-4e01-a702-69d5524ee50b', '1234') )
|
#print( user_in_db('ee77b9d8-44f3-4e01-a702-69d5524ee50b', '1234') )
|
||||||
|
39
tg.py
39
tg.py
@ -3,6 +3,15 @@ from telebot.formatting import hcode
|
|||||||
from telebot.types import ReplyKeyboardMarkup, KeyboardButton
|
from telebot.types import ReplyKeyboardMarkup, KeyboardButton
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
# API для отправки сообщения о переводе
|
||||||
|
# TG -> DS / DS -> Mine / ...
|
||||||
|
from fastapi import FastAPI, HTTPException
|
||||||
|
from pydantic import BaseModel
|
||||||
|
import uvicorn
|
||||||
|
app = FastAPI()
|
||||||
|
# Для запуска API в потоке
|
||||||
|
from threading import Thread
|
||||||
|
|
||||||
from call2api import *
|
from call2api import *
|
||||||
from db import *
|
from db import *
|
||||||
|
|
||||||
@ -174,4 +183,34 @@ def checks(message):
|
|||||||
help(message)
|
help(message)
|
||||||
|
|
||||||
|
|
||||||
|
# API для переводов TG->DS / ...
|
||||||
|
class Transfer_callback(BaseModel):
|
||||||
|
token: str
|
||||||
|
src_nick: str
|
||||||
|
dst_nick: str
|
||||||
|
amount: str
|
||||||
|
@app.post('/api/transfer_callback/')
|
||||||
|
def transfer_callback(it: Transfer_callback):
|
||||||
|
token, src_nick, dst_nick, amount = it.token, it.src_nick, it.dst_nick, it.amount
|
||||||
|
db = read()
|
||||||
|
if token in db['tokens']:
|
||||||
|
dst_id = user_in_db(API_TOKEN, nick=dst_nick)
|
||||||
|
tg_dst = int(get_tg(API_TOKEN, id=dst_id))
|
||||||
|
print(tg_dst)
|
||||||
|
bot.send_message(tg_dst, f'''Вам перевели {hcode(amount)} CDM.
|
||||||
|
|
||||||
|
Отправитель: {hcode(src_nick)}''', parse_mode='HTML')
|
||||||
|
return 200
|
||||||
|
else:
|
||||||
|
return 'Error'
|
||||||
|
|
||||||
|
def run_api():
|
||||||
|
uvicorn.run(app, host='127.0.0.1', port=2222)
|
||||||
|
|
||||||
|
# Запускаем API для переводов
|
||||||
|
api = Thread(target=run_api)
|
||||||
|
api.Daemon = True
|
||||||
|
api.start()
|
||||||
|
|
||||||
|
# Запускаем бота
|
||||||
bot.infinity_polling()
|
bot.infinity_polling()
|
||||||
|
Loading…
Reference in New Issue
Block a user