Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Технические вопросы по PtokaX _ Помощь в приват... от имени самого пользователя

Автор: MIKHAIL 25.5.2015, 0:37

Создаю контекстное меню пользователя с родной командой Птоки ("Помощь"):

Код
Core.SendToUser("$UserCommand 1 1 Помощь$$To: %[nick] From: %[mynick] $<%[mynick]> !help|")

результат работы будет отображен в приватном сообщении бота хаба как список доступных команд для данного профиля пользователя.

Использование данного контекстного меню равносильно непосредственному вводу данной команды (!help) пользователем конкретно в привате бота хаба.


Вопрос: как я со стороны хаба могу выполнить данную команду "как бы" от имени пользователя, т. е. чтобы результатом работы было бы отображение в приватном сообщении бота хаба списка доступных команд для данного пользователя?

Капаю как-то так:
Код
Core.SendToUser(tUser,"$To: BOTNICK From: USERNICK $<USERNICK> !help|")

но безрезультатно...

Прошу помощи по решению данного вопроса.

Автор: Артём 29.5.2015, 21:40

Цитата(MIKHAIL @ 25.5.2015, 0:37) *
Вопрос: как я со стороны хаба могу выполнить данную команду "как бы" от имени пользователя...

Отвечу: скриптом big_smile.gif
Скорей всего нерабочий код, ну, возможно поймёшь в какую сторону копать big_smile.gif
Код
function UserConnected(user)
    Core.SendToUser(user,"$UserCommand 1 3 Отправить Помощь этому юзеру$<%[mynick]> [%nick] !shelp|")
end
local message = {
[[ Текст для отправки пользователю в лс от его имени
]]
}
function ToArrival(user,data)
    local s,e,to,from,message = string.find(data, "%$To:%s(%S+)%sFrom:%s(%S+)%s$<(%S+)%>%s(.*)$")
    local tToUser = Core.GetUser(to)
        Core.SendPmToUser(user, to, message)
end
--ChatArrival=ToArrival


P.S. хотя, может я что-то не так понял и не в тему коммент оставил...

Автор: MIKHAIL 30.5.2015, 0:08

Артём, фишка в том, чтобы выполнить родную команду Птоки !help без телодвижений со стороны пользователя и отослать ему результат в приват от бота, как если бы он (пользователь) сам выполнил эту команду через тот же приват бота. Да что уж там приват, реализовать хотя бы в общем чате.

То есть всё сводится к тому, как правильно подсунуть Птоке !help от имени пользователя: сам пользователь "ничего не трогает", а ему приходит сообщение, что, мол, вам доступны такие-то родные команды самой Птоки, естественно, в зависимости от вашего профиля.

Автор: Артём 30.5.2015, 12:53

MIKHAIL, только скриптом. big_smile.gif

Автор: MIKHAIL 5.6.2015, 13:01

Вообщем, сказать от имени пользователя TEST команду "!help" в главном чате по аналогии с:

Код
"$UserCommand 1 1 Help$<%[mynick]> !help|"

ни так:
Код
Core.SendToUser(tUser,"!help|")

ни так:
Код
Core.SendToNick("TEST","!help|")

не получается.

Вот если бы была такая функция API для родных команд Птоки: Core.ExecAsUser(tUser,sCmd)...