Skip to content

Instantly share code, notes, and snippets.

@inbalboa
Last active December 27, 2021 12:50
Show Gist options
  • Save inbalboa/3ce95f3f0f1ae0fb4ea730ea0bacecbb to your computer and use it in GitHub Desktop.
Save inbalboa/3ce95f3f0f1ae0fb4ea730ea0bacecbb to your computer and use it in GitHub Desktop.
#!/usr/bin/env -S PATH="/usr/local/bin:${PATH}" python3
from datetime import datetime, timedelta
from monobankua import Monobank
from operator import attrgetter
TOKEN = 'xxx'
def icon():
return 'iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADJ0lEQVR4AWKgKRgF3t7eJgkJCfZEKS4rKzP08PDIT01NtSZGfX19vYixsfElLS2tPdbW1qYENQgICMy0sbHZx8LC8t/Ozu6miopKLD71gPaqIcDNMArW1uJP1nactW0Ga9u2bZ9q+1LbtnmveandTrAOimvDz/PezLzvt7Ky6qfT6THIQhtrL3/8+HGyTIDg4OAuV1dXX3d39yRsvhkYGLiMQqFcdnR0dBq/dvXq1QSivzrU9/PzGyAIIlomgK2tbSgOqxG0AwIC3Nhs9lH8G1Op1O0WFhZrORxOUmho6CCml7q4uJy0tLTcW15eLqQzJSWFYLFY52UCVFRU6GPR7qF+RkaGn5aWVpWXl9cta2vrvXp6ekUQ1HvKlCnmiNjOzc0tw8bGZjW+92NjY9uhwy4AOcgEcXZ2vjvU1tbWJnJzc/MiIiLmj17T0dGhBd61hvqbN2+eBnOkmpqavga9y2QCaGpqLsnOzhamraampow/Jr4sLpdrOrQG81Q7O7vjyKIfOgj18fX1NQNdRaD5LcApUgGwKZRiRqkXtJGyBaJ6BSrWwl270P8A0XdHRkbGAOBWWlpaBrQ5p6ur+5TBYOzB/EMcHiUwxs+fPyU7Cova8Bc11Ae/HXBTLCiwMzIyutTW1kaF+G8h9qpjx45FgdLHJiYmWxFEH/Z2CfYYGxv3gdYQad6+fPz48blD/ZCQEGVEexsAFXDYAOYvzZgxI62woJBpaGj4GuNLAXAZrtqI5XMEe1AbTqBuQCIANu0TWG70GKhQBEgKnJRWXFysPTQOKq5LOkNBQcGCTCYvlQgA59TAinHyqh41wYI+35hMJjF+jsfjVUH0VIkbGxoayLiLPEtLS+fKqHhVGo1239PTMxcH9Yye6+3t1USmt4esLfEFYWMh2Jna2lqSpPmcnJx5RUVF1PHja9euVUVGx9CUWWxDYnvCIXcgWGloWKiivPXQKQg63YEBHH/7rm9paZmL+yYL3r5GIpEOwjH9CxcuTIOzklB4sSjKNPi/E465jGBWg1b1v36wgBLlmJgYLzTTwH82LsAcQRuG8N25c6fC/0fvP71+AVDd+A96CWoiAAAAAElFTkSuQmCC'
def main():
monobank = Monobank(TOKEN)
try:
client_name, webhook_url, accounts = monobank.client_info()
except Exception as e:
print(f'!|templateImage={icon()}')
print('---')
print(e)
return
print(f'{accounts[0]}|templateImage={icon()}')
print('---')
print(f'{client_name}|refresh=false')
print('---')
for account in accounts:
print(account.card)
print(f'Баланс: {account.balance / 100} {account.currency.symbol}|refresh=false')
if account.creditLimit:
print(f'Кредитний ліміт: {account.creditLimit // 100}|refresh=false size=10')
try:
statements = monobank.statements(account.id, (datetime.now() - timedelta(days=2)).date())
except Exception as e:
print(e)
return
if statements:
print('Виписка за 3 дні')
for statement in sorted(statements, key=attrgetter('time'), reverse=True):
print(f'--{statement}|refresh=false')
print('---')
print('Оновити|refresh=true')
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment