import logging
from aiogram import executor, Bot, Dispatcher
from create_bot import dp
import handlers
import json, logging
from global_conf import CONFIG
from prometheus_client import start_http_server



def remake_field_generator(d, field='text'):
    if isinstance(d, list):
        for k2 in d:
            for id_val in remake_field_generator(k2):
                yield id_val
    elif isinstance(d, dict):
        for k, v in d.items():
            if k == field: 
                d[k] = '<blank!>' 
                yield v
            elif isinstance(v, list):
                for k2 in v:
                    for id_val in remake_field_generator(k2):
                        yield id_val
            elif isinstance(v, dict):
                for id_val in remake_field_generator(v):
                    yield id_val 

def filter_grammar_messages(record):
    if record.args and (not None in record.args):
        j = json.loads(record.args[2]) 
        for _ in remake_field_generator(j):
            pass   
        record.args = (record.args[0], record.args[1], json.dumps(j))
    return True

logging.basicConfig(level=logging.DEBUG)
logging.getLogger("aiogram").addFilter(filter_grammar_messages)


# pipisa.register_handlers_pipisa(dp)
# time_new_year.register_handlers_time(dp)
# sendalarm.register_handlers_test(dp)
# start_help.register_handlers_StartHelp(dp)

if __name__ == '__main__':
    #print(CONFIG)
    start_http_server(1337)
    logging.info('Бот в строю.')  
    executor.start_polling(dp, skip_updates=True)
    logging.info('Всем пока.')