У меня есть бот IRC, написанный на Python, который работает довольно хорошо. Я думаю, что проблема заключается в моих ограниченных знаниях протокола IRC, поэтому гуру IRC особенно приветствуются здесь:D
При первом подключении к сети IRC обычно отображается MOTD. Сеть не будет принимать никаких команд, пока MOTD не закончится. Так что с моим ботом у меня должен быть цикл, который проверяет конец MOTD. Это совсем не модульно, так как, по моему опыту, не все серверы заканчивают свою MOTD одинаково. Есть ли способ сказать серверу, чтобы он не отправлял MOTD, или действительно лучший способ дождаться окончания MOTD, чтобы сообщить серверу, к какому каналу я хочу подключиться?
Мой текущий код для ожидания окончания MOTD состоит из цикла while, читающего входной буфер и разбирающего каждую полную команду в список. Он берет этот список и ищет в каждом строковом объекте определенную строку, которая появляется в конце MOTD FreeNode, если он найден, цикл завершается и перед входом в основной цикл отправляется команда для присоединения к каналу.
Есть ли лучший способ справиться с MOTD? Я не могу не чувствовать, что этот путь довольно неуклюж.