def METHOD_NAME(self, com, lines, ini_lines=None):
    need_scroll = False
    if ini_lines is not None:
        for line in ini_lines:
            self.consoleView.addMessage(line, False)
            need_scroll = True
    for line in lines:
        line = self.filter_unprintable(line.line)
        if (
            line
            and (not line.startswith("<"))
            and (not line.startswith("{Game"))
            and (not line.endswith("available for matches."))
            and line[-12:-5] != "), Bug("
        ):
            self.consoleView.addMessage(line, False)
            need_scroll = True
    if need_scroll:
        # scroll to the bottom but only if we are not scrolled up to read back
        adj = self.consoleView.sw.get_vadjustment()
        if adj.get_value() >= adj.get_upper() - adj.get_page_size() - 1e-12:
            GLib.idle_add(self.scroll_to_bottom)