Add logging sharing in bot channel
This commit is contained in:
parent
65da9a65de
commit
48a5fa2285
3 changed files with 38 additions and 6 deletions
|
|
@ -60,7 +60,8 @@ class Bot:
|
|||
log_level: int = logging.INFO):
|
||||
self.config: Config = config or Config()
|
||||
self.guild_id = guild_id
|
||||
self.logger = create_logger('breadtube', log_level, stdout=True)
|
||||
self.logger, self.logger_memory = create_logger(
|
||||
'breadtube', log_level, self.config.log_buffer_length, stdout=True)
|
||||
|
||||
self.version = self._get_code_version()
|
||||
self.discord_manager = DiscordManager(bot_token=bot_token, bot_version=self.version, logger=self.logger)
|
||||
|
|
@ -91,6 +92,7 @@ class Bot:
|
|||
self.guild_text_channels: list[TextChannel] = text_channel
|
||||
self.guild_categories: list[ChannelCategory] = categories
|
||||
self.init_message: Message | None = None
|
||||
self.init_message_update: float = time.time()
|
||||
|
||||
bot_channel: TextChannel | None = None
|
||||
for _ in range(self.config.bot_channel_init_retries):
|
||||
|
|
@ -392,6 +394,7 @@ class Bot:
|
|||
# New init message is needed, previous need to be deleted
|
||||
if self.init_message is not None and (
|
||||
new_config is not None or new_subscriptions is not None
|
||||
or self.logger_memory.last_update < self.init_message_update
|
||||
or self.init_message.content != self.INIT_MESSAGE):
|
||||
self.logger.info('Refreshing init message')
|
||||
immediate_delete[self.init_message.id] = self.init_message
|
||||
|
|
@ -404,8 +407,11 @@ class Bot:
|
|||
self.bot_channel, {'content': self.INIT_MESSAGE}, request_timeout=self.config.request_timeout,
|
||||
upload_files=[
|
||||
('config.txt', FileMime.TEXT_PLAIN, self.config.to_str().encode()),
|
||||
('subscriptions.csv', FileMime.TEXT_CSV, SubscriptionHelper.generate_text(self._yt_subscriptions))
|
||||
('subscriptions.csv', FileMime.TEXT_CSV, SubscriptionHelper.generate_text(self._yt_subscriptions)),
|
||||
('bot.log', FileMime.TEXT_PLAIN, b'\n'.join([
|
||||
r.getMessage().encode() for r in self.logger_memory.buffer]))
|
||||
])
|
||||
self.init_message_update = self.logger_memory.last_update
|
||||
|
||||
for message in immediate_delete.values():
|
||||
try:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue