У меня проблемы с подключением бота к irc.twitch.tv. Подключение к irc.ubuntu.com не проблема, хотя ..
При подключении к Ubuntu я просто отправляю ник, а затем usr. С твиком я посылаю пасс, ник и затем usr.
Я действительно смущен, почему это не работает вообще. Обычно я думаю, что twitch должно сказать мне что-нибудь, но после того, как мой бот скажет мне, что никаких особых ошибок не происходит, просто нет сообщений вообще. Так что я думаю, что проблема в связи с тем, что я не могу отправить действительный пропуск до usr и ник.
Поскольку мой код немного длиннее, я размещаю его на pastebin, надеюсь, вы сможете понять и проанализировать его:
PS: - My oauth PW should be correct it is not the string in the sample code.
- I have the pw/usr/nick in the right order, nick/usr is wrong in code.
- I want to say again, that I don't get any message from twitch or any errors.
PPS: - I just tried using wireshark and when filtering for "irc" I got some data
with irc.ubuntu.com, but none with irc.twitch.tv.
Is the twitch adress wrong?
PPPS: - I am not completely into wireshark yet, but the only messages I am getting
on tcp port 6667 are
"connection establish request"and "connection establish acknowledge"
Согласно документу протокола, порядок протокола соединения клиента:
ПРОХОДИТЬ
НИК
USER
В то время как ваш бот, кажется, отправляет pass
, user
, nick
,
3.1 Регистрация соединения
Команды, описанные здесь, используются для регистрации соединения с
IRC-сервер как пользователь, а также для правильного отключения.Команда «PASS» не требуется для подключения клиента
зарегистрирован, но он ДОЛЖЕН предшествовать последнему из NICK / USER
комбинация (для подключения пользователя) или команда SERVICE (для
сервис связи). РЕКОМЕНДУЕМЫЙ заказ для регистрации клиента
как следует:1. Pass message 2. Nick message 2. Service message 3. User message
В случае успеха клиент получит RPL_WELCOME (для пользователей) или
RPL_YOURESERVICE (для служб) сообщение о том, что
соединение зарегистрировано и известно всей сети IRC.
Ответное сообщение ДОЛЖНО содержать полный идентификатор клиента, по которому
это было зарегистрировано.
РЕДАКТИРОВАТЬ:
Кроме того, хотя протокол предполагает PASS
необязательно, немного серверы ожидают пароль, даже если он не требуется для подключения к сети. Отправка бланка PASS
недостаточно. Для этих серверов я отправляю PASS none
, (все будет делать, пока пароль не пуст).
Twitch требует, чтобы в качестве пароля использовался токен OAuth. Посмотреть здесь http://help.twitch.tv/customer/portal/articles/1302780-twitch-irc
Ответ на это довольно прост. Я просто выяснил это, просто поиграв с этим.
Кажется, в моем маленьком коде проблема в том, что я не сразу отправляю свои данные на сервер. Поэтому, когда я изменил «переключатель 3:» на «переключатель: 1», все работало внезапно.
Все еще помогите, ребята!