mirror of
https://git.wownero.com/lza_menace/tg-bot.git
synced 2024-08-15 00:23:12 +00:00
fix some bugs with message routing and prettify balance output
This commit is contained in:
parent
8534b3dbc4
commit
219e2491e3
1 changed files with 8 additions and 7 deletions
|
@ -10,7 +10,8 @@ from decimal import Decimal
|
||||||
def log_event(f):
|
def log_event(f):
|
||||||
@wraps(f)
|
@wraps(f)
|
||||||
def decorated_function(*args, **kwargs):
|
def decorated_function(*args, **kwargs):
|
||||||
logging.info(f'"{f.__name__}" called by {args[0].message.from_user["username"]}')
|
msg = args[0].message
|
||||||
|
logging.info(f'"{f.__name__}" invoked from {msg.from_user["username"]} - Full command: "{msg.text}"')
|
||||||
return f(*args, **kwargs)
|
return f(*args, **kwargs)
|
||||||
return decorated_function
|
return decorated_function
|
||||||
|
|
||||||
|
@ -29,7 +30,7 @@ def registration_required(f):
|
||||||
@wraps(f)
|
@wraps(f)
|
||||||
def decorated_function(*args, **kwargs):
|
def decorated_function(*args, **kwargs):
|
||||||
wallet = wownero.Wallet()
|
wallet = wownero.Wallet()
|
||||||
if not db.User.filter(telegram_id=args[0].effective_chat.id):
|
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.')
|
args[0].message.reply_text('You are not yet registered. Issue the /register command.')
|
||||||
return False
|
return False
|
||||||
return f(*args, **kwargs)
|
return f(*args, **kwargs)
|
||||||
|
@ -97,7 +98,7 @@ def tip(update, context):
|
||||||
else:
|
else:
|
||||||
target_un = context.args[0]
|
target_un = context.args[0]
|
||||||
|
|
||||||
if target_un == update.effective_chat.username:
|
if target_un == update.message.from_user['username']:
|
||||||
update.message.reply_text('You cannot tip yourself!')
|
update.message.reply_text('You cannot tip yourself!')
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -134,7 +135,7 @@ def tip(update, context):
|
||||||
try:
|
try:
|
||||||
tx = wownero.Wallet().transfer(dest_address=address, amount=amount, priority=2, account=u.account_index)
|
tx = wownero.Wallet().transfer(dest_address=address, amount=amount, priority=2, account=u.account_index)
|
||||||
print(tx)
|
print(tx)
|
||||||
update.message.reply_text(f'@{update.effective_chat.username} has tipped @{target_un} {amount} WOW!')
|
update.message.reply_text(f'@{update.message.from_user["username"]} has tipped @{target_un} {amount} WOW!')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f'Unable to send transfer: {e}. Debug: {update.message}')
|
logging.error(f'Unable to send transfer: {e}. Debug: {update.message}')
|
||||||
update.message.reply_text('Failed to send a tip. Ask for help.')
|
update.message.reply_text('Failed to send a tip. Ask for help.')
|
||||||
|
@ -177,7 +178,7 @@ def send(update, context):
|
||||||
try:
|
try:
|
||||||
tx = wownero.Wallet().transfer(dest_address=address, amount=amount, priority=2, account=u.account_index)
|
tx = wownero.Wallet().transfer(dest_address=address, amount=amount, priority=2, account=u.account_index)
|
||||||
print(tx)
|
print(tx)
|
||||||
update.message.reply_text(f'@{update.effective_chat.username} has tipped @{target_un} {amount} WOW!')
|
update.message.reply_text(f'@{update.message.from_user["username"]} has tipped @{target_un} {amount} WOW!')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f'Unable to send transfer: {e}. Debug: {update.message}')
|
logging.error(f'Unable to send transfer: {e}. Debug: {update.message}')
|
||||||
update.message.reply_text('Failed to send a tip. Ask for help.')
|
update.message.reply_text('Failed to send a tip. Ask for help.')
|
||||||
|
@ -188,7 +189,7 @@ def send(update, context):
|
||||||
def balance(update, context):
|
def balance(update, context):
|
||||||
u = db.User.get(telegram_id=update.message.from_user['id'])
|
u = db.User.get(telegram_id=update.message.from_user['id'])
|
||||||
balances = wownero.Wallet().balances(account=u.account_index)
|
balances = wownero.Wallet().balances(account=u.account_index)
|
||||||
update.message.reply_text(f'Available balance for {update.effective_chat.username}: {balances[1]} ({balances[0]} locked)')
|
update.message.reply_text(f'Available balance for {update.message.from_user["username"]}: {float(balances[1])} ({float(balances[0])} locked)')
|
||||||
|
|
||||||
@wallet_rpc_required
|
@wallet_rpc_required
|
||||||
@registration_required
|
@registration_required
|
||||||
|
@ -196,7 +197,7 @@ def balance(update, context):
|
||||||
def deposit(update, context):
|
def deposit(update, context):
|
||||||
u = db.User.get(telegram_id=update.message.from_user['id'])
|
u = db.User.get(telegram_id=update.message.from_user['id'])
|
||||||
address = wownero.Wallet().addresses(account=u.account_index)[0]
|
address = wownero.Wallet().addresses(account=u.account_index)[0]
|
||||||
update.message.reply_text(f'Deposit address for {update.effective_chat.username}: {address}')
|
update.message.reply_text(f'Deposit address for {update.message.from_user["username"]}: {address}')
|
||||||
|
|
||||||
@wallet_rpc_required
|
@wallet_rpc_required
|
||||||
@log_event
|
@log_event
|
||||||
|
|
Loading…
Reference in a new issue