myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Реализация NMDC команды $MCTo, дабы не затерялось

Теги
Нет тегов для показа
Setuper
сообщение 26.8.2009, 17:19
Сообщение #1


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Расширяем протокол. А именно, добавляем дополнительные возможности: http://mydc.ru/index.html?showtopic=915&am...post&p=6917
Данная команда NMDC протокола работает как встроенная характеристика на YnHub-е.
На поддержку хабом этой команды указывает характеристика MCTo в команде $Supports.

Скриптовая реализация этой NMDC команды в PtokaX:

Код
function UnknownArrival(tUser, sData)
  local to, n, m = sData:match"%$MCTo: (%S+) %$(%S+) (.+)|$"
  if to and n == tUser.sNick then
    Core.SendToNick(to, "<"..n.."> "..m)
    Core.SendToUser(tUser, "<"..n.."> "..m)
    return true
  end
end


Для использования команды в настройках клиента нужно создать менюшку.
Заходим Файл > Настройки > Команды юзера > Добавить
Тип команды: RAW
Контекст: Меню юзера
Название: Сообщение этому юзеру в чат
Команда: $MCTo: %[userNI] $%[myNI] %[line:Сообщение]|

Или же менюшку можно создать средствами хаба:
Код
function UserConnected(tUser)
  Core.SendToUser(tUser, "$UserCommand 1 2 Сообщение этому юзеру в чат$$MCTo: %[nick] $%[mynick] %[line:Сообщение]&#124;")
end
RegConnected, OpConnected = UserConnected, UserConnected


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 26.8.2009, 19:17
Сообщение #2


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Попробовал и через команды клиента и через скриптик. Нашёл это очень удобным способом отключиться от хаба. big_smile.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 26.8.2009, 19:30
Сообщение #3


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Странно. У меня всё работает а у тебя почему-то нет.
Что-то не то значит делаешь)))

Возможно ты где-то неправильно команду прописал.
Код
$MCTo: %[userNI] $%[myNI] %[line:Сообщение]|
Go to the top of the page
+Quote Post
Serx
сообщение 26.8.2009, 19:38
Сообщение #4


Продвинутый участник
****

Группа: Пользователи
Сообщений: 153
Регистрация: 21.9.2008
Из: Челябинск
Пользователь №: 574
Спасибо сказали: 54 раза




здесь есть скрипт Шепота, по сравнению с этим способом он проигрывает в производительности? и если да то намного ли?

может ли это работать, если в клиенте нет галочки на опции Посылать неизвестные команды хабу ?
Go to the top of the page
+Quote Post
Setuper
сообщение 26.8.2009, 20:07
Сообщение #5


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Да, действительно. Про галочку в клиенте я совсем забыл упомянуть.

Скрипты равносильны и никто не проигрывает и не выигрывает.
Выигрыш будет, если данная команда реализована в протоколе, а не при помощи скрипта.

В отличии от указанного скрипта (сказать шёпотом), данная команда устроена так, что жертва не знает о том, что именно ему пришло сообщение, а считает, что это общее сообщение чата. Поэтому всем окружающим будет казаться, что он разговаривает сам с собой. Очень весело получается)))


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 26.8.2009, 21:31
Сообщение #6


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




2Setuper:
Я просто скопировал команду как ты написал, тут трудно ошибиться.
Да и скриптовое отправление команды так же - целиком копирнул, создал файл, дал название и запустил.
А отправка неизвестных команд хабу - галочка у меня стоит, как всегда.
Клиент - Флайлинк. Пробовал и другой клиент - так же.
АПИ1 (скрипт подправил под апи1)
Go to the top of the page
+Quote Post
Setuper
сообщение 27.8.2009, 0:13
Сообщение #7


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Значит так подправил, что не работает)))

API 1:
Код
function UnknownArrival(tUser, sData)
  local to, n, m = sData:match"%$MCTo: (%S+) %$(%S+) (.+)|$"
  if to and n == tUser.sName then
    SendToNick(to, "<"..n.."> "..m)
    tUser:SendData(n, m)
    return 1
  end
end


Наверняка ты написал return true, а не return 1. Поэтому и не работало big_smile.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 27.8.2009, 15:18
Сообщение #8


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




А вот и нет big_smile.gif Я воспользовался всего лишь отправкой команды клиенту через хаб...это второй код в твоем сообщении.
Go to the top of the page
+Quote Post
Setuper
сообщение 27.8.2009, 16:16
Сообщение #9


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Для хаба эта команда неизвестная, поэтому он тебя и отключает. Для того, чтобы она стала известно нужно написать скрипт))
Go to the top of the page
+Quote Post
Alexey
сообщение 28.8.2009, 1:17
Сообщение #10


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




А какой-нибудь клиент нативно эту команду поддерживает?
Go to the top of the page
+Quote Post
Setuper
сообщение 28.8.2009, 2:03
Сообщение #11


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Данная команда, как и команда кика может вызываться только из меню как RAW команда. Однако, в отличии от команды кика, данная команда не является основной, а является дополнительной. Поэтому, если хаб поддерживает данную команду, то пользователь может добавить соответствующую контекстную менюшку.

То есть клиенты не поддерживают эту команду только из-за того, что она является дополнительной, и устанавливается только в случае поддержки со стороны хаба.

Команда мало распространена, поэтому и нет её явной реализации в клиентах. Хотя клиенты могли бы добавлять контекстное меню, так же как они добавляют меню для кика. Меню для кика добавляется в клиенте в том случае, если клиент в команде $OpList обнаружит свой ник. А команда $MCTo могла бы добавляться клиентом, если бы клиент обнаружил в команде $Supports характеристику MCTo, которая указывает на то, что хаб поддерживает команду $MCTo.
Конечно же можно разработчикам клиентов сделать запрос на реализацию менюшки для этой команды в клиентах. Думаю, что было бы не плохо, если бы данная команда появилась в клиентах в виде менюшки. Расширение функциональности - это всегда плюс big_smile.gif
Go to the top of the page
+Quote Post
Delion
сообщение 28.8.2009, 2:07
Сообщение #12


Постоялец
******

Группа: Пользователи
Сообщений: 462
Регистрация: 20.10.2008
Пользователь №: 843
Спасибо сказали: 15 раз




Цитата
Расширение функциональности - это всегда плюс

Спорно вне контекста.
Go to the top of the page
+Quote Post
Setuper
сообщение 28.8.2009, 2:14
Сообщение #13


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Не понял. Что спорно?
YnHub поддерживает эту команду. Я в свой хаб тоже уже её включил. Тем более, что эта команда не просто так наобум взятая, это команда NMDC протокола, хоть и является не основной, а дополнительной.
Go to the top of the page
+Quote Post
alex82
сообщение 28.8.2009, 4:20
Сообщение #14


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Цитата
Команда мало распространена, поэтому и нет её явной реализации в клиентах

Она мало распространена потому, что от неё толку никакого. Сообщение "шепотом" можно реализовать при помощи банальной чат-команды. И работать она будет ничуть не хуже, чем команда протокола.
Go to the top of the page
+Quote Post
Setuper
сообщение 28.8.2009, 9:25
Сообщение #15


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Сколько людей, столько и мнений.
Go to the top of the page
+Quote Post
Delion
сообщение 28.8.2009, 16:59
Сообщение #16


Постоялец
******

Группа: Пользователи
Сообщений: 462
Регистрация: 20.10.2008
Пользователь №: 843
Спасибо сказали: 15 раз




Цитата
Расширение функциональности - это всегда плюс

Вот это и спорно.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsВопросы по протоколу NMDC
Делаю программу
26 Master255 29 734 12.1.2015, 0:38 Посл. сообщение: Master255
No New Posts От: вопрос по NMDC.
От темы с ID: 4932
0 MIKHAIL 5 530 25.1.2013, 19:48 Посл. сообщение: MIKHAIL
No New Posts вопрос по NMDC.
.
6 Lamo 13 347 29.5.2012, 19:35 Посл. сообщение: Lamo
No New Posts Команды модератора
Бан, кик, кляп и тд
3 Steklowata 9 214 30.3.2012, 22:37 Посл. сообщение: Steklowata
No new Topic has attachmentsПротокол IPv6 в протоколе NMDC
Спецификация и тестирование IPv6 в NMDC
109 gif-t 95 889 26.2.2012, 10:12 Посл. сообщение: AMD
No New Posts NMDC Extensions
Расширения и новые команды NMDC протокола
10 Meloun 18 405 19.2.2012, 16:39 Посл. сообщение: gif-t
No New Posts От: NMDC Extensions
От темы с ID: 5095
0 Артём 5 594 4.1.2012, 18:56 Посл. сообщение: Артём
No new Topic has attachmentsПингер NMDC-хабов
Ударим опенсорсом по нездоровой шняге
23 alex82 38 769 11.4.2011, 18:12 Посл. сообщение: alex82
No New Posts От: Пингер NMDC-хабов
От темы с ID: 4787
1 Invisible 6 742 4.4.2011, 1:10 Посл. сообщение: EvilNico
Closed дайте все команды для птоки плиззз
3 Artem26 7 002 19.11.2010, 10:07 Посл. сообщение: Ferb
No new Скачивание файл-листа, nmdc
Последовательность команд
16 HackFresse 26 082 3.11.2010, 12:48 Посл. сообщение: Atlant
No New Posts Команды хаба
DBHUB
0 Артём 9 662 20.10.2010, 20:37 Посл. сообщение: Артём
No New Posts Фильтр команды
Помогите дописать скрипт
11 foXDEvil 13 537 7.10.2010, 6:00 Посл. сообщение: foXDEvil
Moved Фильтр команды
Помогите дописать скрипт
0 foXDEvil 0 5.10.2010, 12:05 Посл. сообщение: foXDEvil
No New Posts невыполненные команды в чате
как избежать вывода в чат невыполняемых скриптом команд
4 степашка 8 247 13.3.2010, 23:20 Посл. сообщение: степашка

 



RSS Сейчас: 26.11.2024, 20:11