Подключение к Twitch с помощью моего бота C ++ irc

У меня проблемы с подключением бота к irc.twitch.tv. Подключение к irc.ubuntu.com не проблема, хотя ..

При подключении к Ubuntu я просто отправляю ник, а затем usr. С твиком я посылаю пасс, ник и затем usr.
Я действительно смущен, почему это не работает вообще. Обычно я думаю, что twitch должно сказать мне что-нибудь, но после того, как мой бот скажет мне, что никаких особых ошибок не происходит, просто нет сообщений вообще. Так что я думаю, что проблема в связи с тем, что я не могу отправить действительный пропуск до usr и ник.
Поскольку мой код немного длиннее, я размещаю его на pastebin, надеюсь, вы сможете понять и проанализировать его:

http://pastebin.com/Win3CXbP

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"

1

Решение

Согласно документу протокола, порядок протокола соединения клиента:

ПРОХОДИТЬ

НИК

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, (все будет делать, пока пароль не пуст).

1

Другие решения

Twitch требует, чтобы в качестве пароля использовался токен OAuth. Посмотреть здесь http://help.twitch.tv/customer/portal/articles/1302780-twitch-irc

1

Ответ на это довольно прост. Я просто выяснил это, просто поиграв с этим.
Кажется, в моем маленьком коде проблема в том, что я не сразу отправляю свои данные на сервер. Поэтому, когда я изменил «переключатель 3:» на «переключатель: 1», все работало внезапно.

Все еще помогите, ребята!

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector