Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

3 877 Posts in 868 Topics- by 723 Members - Latest Member: tablarock

23 May 2012, 15:14
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksОбщие вопросыКак отключить автозаход на канал по требованию сервера?
Pages: [1]
Print
Author Topic: Как отключить автозаход на канал по требованию сервера?  (Read 3319 times)
0 Members and 2 Guests are viewing this topic.
PaSS1
Новичок
*

Репутация: 1
Posts: 13


View Profile Email
« on: 9 April 2010, 19:14 »

Как на клиенте отключить автозаход на канал по требованию сервера?
Logged
Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #1 on: 9 April 2010, 22:29 »

Я погуглил немножко на эту тему. Некрасивое решение в лоб - делать /part сразу после захода на такой канал.
В RFC не нашел упоминания таких команд/ответов сервера, которые вынуждали бы клиент заходить на указанный канал. И под рукой нет IRC-сервера, который такое заставляет делать. Дай, пожалуйста, адрес сервера, посмотрю в SocketSpy Квирка процесс подключения.
Logged
PaSS1
Новичок
*

Репутация: 1
Posts: 13


View Profile Email
« Reply #2 on: 9 April 2010, 22:49 »

Dogm.Net >> irc.ukrwest.net
Logged
Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #3 on: 9 April 2010, 23:12 »

По-видимому, этот сервер обслуживает только клиентов вашего провайдера - подключиться к нему не смог.
Другие сервера сети Dogm.Net не вынуждали никуда заходить.
Так что извини, пока ничего сказать не могу.
Logged
DEN
Пользователь
**

Репутация: 3
Gender: Male
Posts: 70


273100470
View Profile WWW
« Reply #4 on: 16 April 2010, 00:06 »

Это так называемый принудительный автозаход на канал при подключении к серверу. С клиентской стороны от этого оградиться можно только написав скрипт, который при заходе на канал будет сразу же посылать команду part. В редакторе событий найдите OnMeJoin и создайте обработчик с кодом:

if($chan.name == "#chan") part #chan
Logged

Слушайте DEATH!
_
http://den.hstg.ru
alexzulu
Постоялец
***

Репутация: 29
Posts: 181



View Profile Email
« Reply #5 on: 16 April 2010, 10:16 »

интересно, как реализован этот автозаход. если типа инвайта то можно попробовать отклонять приглашение от сервера.
Logged

сеть freenode, каналы #kvirc и #kvirc-ru
DEN
Пользователь
**

Репутация: 3
Gender: Male
Posts: 70


273100470
View Profile WWW
« Reply #6 on: 18 April 2010, 02:24 »

Это прописано в конфигурационном файле сервера. Простым смертным туда доступа нет.
Logged

Слушайте DEATH!
_
http://den.hstg.ru
Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #7 on: 18 April 2010, 03:06 »

Дайте уже адрес такого сервера, хочется посмотреть
Logged
DEN
Пользователь
**

Репутация: 3
Gender: Male
Posts: 70


273100470
View Profile WWW
« Reply #8 on: 5 May 2010, 00:01 »

К примеру: 78.24.222.238:6667
Logged

Слушайте DEATH!
_
http://den.hstg.ru
Maximusya
Глобальный модератор
*****

Репутация: 49
Gender: Male
Posts: 343



View Profile
« Reply #9 on: 5 May 2010, 02:01 »

К примеру: 78.24.222.238:6667
Спасибо, DEN!

Кажется, дело обстоит так:
Я ввожу команду join - квирк отправляет серверу сообщение - сервер присылает ответное сообщение об успешном join-е
/join #test

Code:
JOIN #test
:Maximusya!kvirc@1.8.144.64 JOIN :#test
Остальные в этот момент получают от сервера точно такое же сообщение (:Maximusya!kvirc@1.8.144.64 JOIN :#test)
У меня возникает событие OnMeJoin, у других возникает событие OnJoin

При подключении к серверу 78.24.222.238:6667 этот сервер сразу же шлет мне сообщение
Code:
:Maximusya!~kvirc@mm-4-92-84-93.dynamic.pppoe.mgts.by JOIN :#EfNet
И квирк послушно обрабатывает это сообщение, как будто я обычным образом захожу на канал. Возникает событие OnMeJoin. Остальные получают точно такое же сообщение и видят меня, заходящего на канал.

Даже если бы была возможность отключить обработку такого сообщения без предваряющей его команды /join, юзеры на канале все равно увидят меня входящим на канал. И если /part команды от меня не последует, то будет выглядеть, как будто я продолжаю там сидеть!)

Поэтому думаю, что /part в OnMeJoin - единственное приемлимое решение (ну еще доработать его, позволив заходить на канал, если до этого была отдана команда /join на него)

P.S.: событие OnOutboundTraffic есть, OnInboundTraffic почему-то нет(

P.P.S.: возможно, если сделать /part еще в событии OnChannelWindowCreated, то квирк не станет отсылать запросы MODE и NAMES - просто это избавит клиент и сервер от необходимости обмениваться информацией, которая тут же станет ненужной.

« Last Edit: 5 May 2010, 02:31 by Maximusya » Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic