kopia lustrzana https://github.com/mkdryden/telegram-stats-bot
Make backup store optional.
rodzic
750427a841
commit
01136894ff
|
@ -57,6 +57,7 @@ sticker_id = None
|
||||||
def log_message(update: Update, context: CallbackContext):
|
def log_message(update: Update, context: CallbackContext):
|
||||||
if update.edited_message:
|
if update.edited_message:
|
||||||
edited_message, user = parse_message(update.effective_message)
|
edited_message, user = parse_message(update.effective_message)
|
||||||
|
if bak_store:
|
||||||
bak_store.append_data('edited-messages', edited_message)
|
bak_store.append_data('edited-messages', edited_message)
|
||||||
store.update_data('messages', edited_message)
|
store.update_data('messages', edited_message)
|
||||||
return
|
return
|
||||||
|
@ -68,6 +69,7 @@ def log_message(update: Update, context: CallbackContext):
|
||||||
message, user = parse_message(update.effective_message)
|
message, user = parse_message(update.effective_message)
|
||||||
|
|
||||||
if message:
|
if message:
|
||||||
|
if bak_store:
|
||||||
bak_store.append_data('messages', message)
|
bak_store.append_data('messages', message)
|
||||||
store.append_data('messages', message)
|
store.append_data('messages', message)
|
||||||
if len(user) > 0:
|
if len(user) > 0:
|
||||||
|
@ -198,7 +200,7 @@ if __name__ == '__main__':
|
||||||
parser.add_argument('postgres_url', type=str, help="Sqlalchemy-compatible postgresql url.")
|
parser.add_argument('postgres_url', type=str, help="Sqlalchemy-compatible postgresql url.")
|
||||||
parser.add_argument('--json-path', type=str,
|
parser.add_argument('--json-path', type=str,
|
||||||
help="Either full path to backup storage folder or prefix (will be stored in app data dir.",
|
help="Either full path to backup storage folder or prefix (will be stored in app data dir.",
|
||||||
default="chat")
|
default="")
|
||||||
parser.add_argument('--tz', type=str,
|
parser.add_argument('--tz', type=str,
|
||||||
help="tz database time zone string, e.g. Europe/London",
|
help="tz database time zone string, e.g. Europe/London",
|
||||||
default='Etc/UTC')
|
default='Etc/UTC')
|
||||||
|
@ -207,12 +209,15 @@ if __name__ == '__main__':
|
||||||
updater = Updater(token=args.token, use_context=True)
|
updater = Updater(token=args.token, use_context=True)
|
||||||
dispatcher = updater.dispatcher
|
dispatcher = updater.dispatcher
|
||||||
|
|
||||||
|
if args.json_path:
|
||||||
path = args.json_path
|
path = args.json_path
|
||||||
if not os.path.split(path)[0]: # Empty string for left part of path
|
if not os.path.split(path)[0]: # Empty string for left part of path
|
||||||
path = os.path.join(appdirs.user_data_dir('telegram-stats-bot'), path)
|
path = os.path.join(appdirs.user_data_dir('telegram-stats-bot'), path)
|
||||||
|
|
||||||
os.makedirs(path, exist_ok=True)
|
os.makedirs(path, exist_ok=True)
|
||||||
bak_store = JSONStore(path)
|
bak_store = JSONStore(path)
|
||||||
|
else:
|
||||||
|
bak_store = None
|
||||||
store = PostgresStore(args.postgres_url)
|
store = PostgresStore(args.postgres_url)
|
||||||
stats = StatsRunner(store.engine, tz=args.tz)
|
stats = StatsRunner(store.engine, tz=args.tz)
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue