Лучше не хранить ничего в файлах, а создать таблицу в бд с колонками
banTimeStart memberUid reason authorOfBan duration и
channel.
banTimeStart это
int(time.time()) на момент внесения записи в таблицу.
Можно удалять разбаненых из таблицы, а можно добавить столбец
unbanned где будет 0 если человек ещё в бане и 1 если человек разбанен.
Каждую минуту (или чаще, на ваше усмотрение) делать запрос в базу на подобии
from time import time
...
cursor.execute("""SELECT memberUid, channel from bans where banTimeStart + duration <= {0}""".format(int(time()))
Данный запрос будет выводить данные о забаненных, чье время бана уже истекло