def admin_only(func): def check_permissions(*args, **kwargs): bot = args[0] update = args[1] admin_ids = list(Player.objects.filter(gm=True).values_list('telegram_id', flat=True)) current_user = update.message.from_user if current_user.id not in admin_ids: update.message.reply_text("You are not allowed to do this, Troubleshooter. This incident will be reported") message = "The user {} just entered a forbidden command.".format(current_user) log_channel_id = Game.objects.get(pk=1).channel_id bot.sendMessage(log_channel_id, message) return 1 return func(*args, **kwargs) return check_permissions def silent_in_group(func): def dont_process_commands_from_groups(*args, **kwargs): bot = args[0] update = args[1] if update.message.chat.id < 0: current_user = update.message.from_user bot.send_message(current_user.id, 'Commands from group chats are not supported, please repeat') return 1 return func(*args, **kwargs) return dont_process_commands_from_groups