Fix type in request_channel_id url

This commit is contained in:
BreadTube 2026-01-09 20:37:43 +09:00
commit 1eddcb686c
2 changed files with 21 additions and 18 deletions

View file

@ -148,23 +148,26 @@ class Bot:
for message in messages: for message in messages:
if message.author.id != self.bot_user.id and message.content.startswith(self.YT_CHANNEL_NAME_URL): if message.author.id != self.bot_user.id and message.content.startswith(self.YT_CHANNEL_NAME_URL):
self.logger.debug('Parsing message for youtube channel name conversion: %s', message) try:
answers: list[str] = [] self.logger.debug('Parsing message for youtube channel name conversion: %s', message)
for line in message.content.splitlines(): answers: list[str] = []
if line.startswith(self.YT_CHANNEL_NAME_URL): for line in message.content.splitlines():
channel_name = line.rstrip()[len(self.YT_CHANNEL_NAME_URL):] if line.startswith(self.YT_CHANNEL_NAME_URL):
channel_id = self.yt_manager.request_channel_id( channel_name = line.rstrip()[len(self.YT_CHANNEL_NAME_URL):]
channel_name, request_timeout=self.config.request_timeout) channel_id = self.yt_manager.request_channel_id(
answers.append(f'{channel_name} -> {channel_id}') channel_name, request_timeout=self.config.request_timeout)
bot_message = self.discord_manager.create_message(self.bot_channel, { answers.append(f'{channel_name} -> {channel_id}')
'content': '\n'.join(answers), bot_message = self.discord_manager.create_message(self.bot_channel, {
'message_reference': MessageReference( 'content': '\n'.join(answers),
type=MessageReferenceType.DEFAULT, 'message_reference': MessageReference(
message_id=message.id, type=MessageReferenceType.DEFAULT,
channel_id=self.bot_channel.id, message_id=message.id,
guild_id=None, channel_id=self.bot_channel.id,
fail_if_not_exists=None)}, request_timeout=self.config.request_timeout) guild_id=None,
delayed_delete[bot_message.id] = bot_message fail_if_not_exists=None)}, request_timeout=self.config.request_timeout)
delayed_delete[bot_message.id] = bot_message
except Exception as error:
self.logger.error('Unexpected error while searching channel id from name: %s', error)
delayed_delete[message.id] = message delayed_delete[message.id] = message
continue continue

View file

@ -73,7 +73,7 @@ class YoutubeManager:
def request_channel_id(self, channel_name: str, request_timeout: float) -> str: def request_channel_id(self, channel_name: str, request_timeout: float) -> str:
url = ('https://www.googleapis.com/youtube/v3/channels?part=snippet' url = ('https://www.googleapis.com/youtube/v3/channels?part=snippet'
f'&forHandle%40={channel_name}&key={self._api_key}') f'&forHandle=%40{channel_name}&key={self._api_key}')
self._logger.debug('YoutubeManager: request channel id for channel %s', channel_name) self._logger.debug('YoutubeManager: request channel id for channel %s', channel_name)
_, info = self._request(url=url, request_timeout=request_timeout) _, info = self._request(url=url, request_timeout=request_timeout)
return info['items'][0]['id'] return info['items'][0]['id']