diff --git a/sopel_modules/SpiceBot_osd/__init__.py b/sopel_modules/SpiceBot_osd/__init__.py index d4929a4..7bd3142 100644 --- a/sopel_modules/SpiceBot_osd/__init__.py +++ b/sopel_modules/SpiceBot_osd/__init__.py @@ -176,14 +176,15 @@ class ToolsOSD: if not isinstance(messages, list): messages = [messages] - messages_list = [] + messages_list = [''] message_padding = 4 * " " for message in messages: - if not len(messages_list) and len(message.encode('utf-8')) <= max_length: - messages_list[-1] = message - elif len(messages_list) and len((messages_list[-1] + message_padding + message).encode('utf-8')) <= max_length: - messages_list[-1] = messages_list[-1] + message_padding + message + if len((messages_list[-1] + message_padding + message).encode('utf-8')) <= max_length: + if messages_list[-1] == '': + messages_list[-1] = message + else: + messages_list[-1] = messages_list[-1] + message_padding + message else: text_list = [] while len(message.encode('utf-8')) > max_length and not message.isspace(): @@ -202,13 +203,7 @@ class ToolsOSD: message = message[last_space:] if len(message.encode('utf-8')) and not message.isspace(): text_list.append(message) - for splitmsg in text_list: - if not len(messages_list) and len(splitmsg.encode('utf-8')) <= max_length: - messages_list[-1] = splitmsg - elif len(messages_list) and len((messages_list[-1] + message_padding + splitmsg).encode('utf-8')) <= max_length: - messages_list[-1] = messages_list[-1] + message_padding + splitmsg - else: - messages_list.append(splitmsg) + messages_list.extend(text_list) return messages_list