C++ простой IRC-клиент с поддержкой прокси? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Гость
 C++ простой IRC-клиент с поддержкой прокси? [закрыто]

Сообщение Гость »


Я пытаюсь создать IRC-бота на C++, который может подключаться к IRC-серверу с помощью прокси-сервера SOCKS5. Я использую библиотеку POCO C++ и мне нужна помощь с деталями реализации. Вот что я пробовал на данный момент:

Я уже установил библиотеку POCO C++ и ее зависимости. У меня есть базовое представление о сокетах и ​​протоколе IRC. Теперь мне нужно руководство о том, как настроить прокси-соединение SOCKS5 и установить связь с IRC-сервером с помощью библиотеки POCO C++. Я хотел бы подключиться к IRC-серверу, присоединиться к определенному каналу и отправлять сообщения на этот канал.

Может ли кто-нибудь предоставить полный пример или фрагменты кода, демонстрирующие необходимые шаги для достижения этой цели с использованием библиотеки POCO C++? Я уже ознакомился с документацией POCO, но у меня все еще возникают некоторые трудности.

Вот конкретные аспекты, с которыми я борюсь:

Настройка и аутентификация прокси-соединения SOCKS5. Установление соединения с IRC-сервером с использованием предоставленного прокси. Присоединение к определенному каналу IRC. Отправка сообщений на IRC-канал. Выполнение любой необходимой очистки или закрытия соединений. Будем очень признательны за любую помощь или рекомендации по решению этой проблемы! Заранее спасибо.

Не забудьте включить любой соответствующий код или сообщения об ошибках, с которыми вы столкнулись во время попыток внедрения. Предоставление как можно более подробной информации поможет другим понять вашу ситуацию и оказать адресную помощь.
импортировать сокет импортные носки из irc.bot импортировать SingleServerIRCBot класс Проксисокет: def __init__(self, ip, port, user_, pass_): сокет.setdefaulttimeout(300) socks.set_default_proxy(socks.SOCKS5, ip, порт, имя пользователя=user_, пароль=pass_) сокет.сокет = носки.сокет класс TestBot(SingleServerIRCBot): def __init__(self, server_list, псевдоним, настоящее имя): super().__init__(список_серверов, псевдоним, настоящее имя) def on_welcome(сам, соединение, событие): печать(событие.аргументы) печать("Подключено") Connection.join("#botwars") для _ в диапазоне (3): Connection.privmsg_many(["HeBoT"], "מנהל") класс ПроксиБот: def __init__(self, proxy, server_ip, server_port, псевдоним, настоящее имя): self.proxy = ProxySocket(*прокси) self.server_ip = server_ip self.server_port = server_port self.nickname = псевдоним self.realname = настоящее имя определение начала (сам): пока правда: пытаться: bot = TestBot([(self.server_ip, self.server_port)], self.nickname, self.realname) bot.start() перерыв кроме: print("Ошибка создания или запуска бота. Повторная попытка...") self.proxy = ProxySocket(*proxy) # Переподключите прокси защита основного(): прокси = ('139.180.210.40', 16247, Нет, Нет) server_ip = 'irc.freenode.net' порт_сервера = 6667 ник = 'имя' Realname = «Мой IRC-робот» proxy_bot = ProxyBot(прокси, IP-адрес_сервера, порт_сервера, никнейм, настоящее имя) proxy_bot.start() если __name__ == "__main__": основной()
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»