move utils and decorators into module
parent
dd025b4d9a
commit
2fc33d598e
@ -0,0 +1,34 @@
|
|||||||
|
import logging
|
||||||
|
from tipbot import wownero
|
||||||
|
from tipbot import db
|
||||||
|
from functools import wraps
|
||||||
|
|
||||||
|
|
||||||
|
def log_event(f):
|
||||||
|
@wraps(f)
|
||||||
|
def decorated_function(*args, **kwargs):
|
||||||
|
msg = args[0].message
|
||||||
|
logging.info(f'"{f.__name__}" invoked from {msg.from_user["id"]} ({msg.from_user["first_name"]}) - Full command: "{msg.text}"')
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
return decorated_function
|
||||||
|
|
||||||
|
def wallet_rpc_required(f):
|
||||||
|
@wraps(f)
|
||||||
|
def decorated_function(*args, **kwargs):
|
||||||
|
wallet = wownero.Wallet()
|
||||||
|
if not wallet.connected:
|
||||||
|
logging.error(f'Wallet RPC interface is not available: {args[0].message}')
|
||||||
|
args[0].message.reply_text('Wallet RPC interface is not available right now. Try again later.')
|
||||||
|
return False
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
return decorated_function
|
||||||
|
|
||||||
|
def registration_required(f):
|
||||||
|
@wraps(f)
|
||||||
|
def decorated_function(*args, **kwargs):
|
||||||
|
wallet = wownero.Wallet()
|
||||||
|
if not db.User.filter(telegram_id=args[0].message.from_user['id']):
|
||||||
|
args[0].message.reply_text('You are not yet registered. Issue the /register command.')
|
||||||
|
return False
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
return decorated_function
|
@ -0,0 +1,7 @@
|
|||||||
|
from tipbot import config
|
||||||
|
|
||||||
|
def is_tg_admin(chat_id):
|
||||||
|
if chat_id == config.TG_ADMIN_ID:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
Loading…
Reference in New Issue