Лучше не хранить ничего в файлах, а создать таблицу в бд с колонками
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()))
Данный запрос будет выводить данные о забаненных, чье время бана уже истекло