Страница 1 из 1

Сообщение в канал

СообщениеДобавлено: Чт июл 17, 2014 9:26 am
SV
Пытаюсь отправить сообщение в канал. Не пойму что я не так делаю.
Код: Выделить всё
function Send_Text_Channel(UIN, UID:Integer; Msg:WideString):WideString;
var
  JSONobj: ISuperObject;
begin
  JSONobj := SO();
  JSONobj.I['UIN']   := UIN;  //Пользователь
  JSONobj.I['UID']   := UID;  //ID Канала
  JSONobj.S['Msg']   := Msg;  //Сообщение
  result := JSONobj.AsJSon;
  JSONobj.Clear(true);
  JSONobj := nil;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
   mcSendDataToMyChat(MCC_Send_MessageToTextChannel,Send_Text_Channel(2,11,'Hello Wolrd!'));
end;


В документации сказано:

22. 0016 cs_put_msg2txt_channel - отправить сообщение в текстовый канал
{
"UIN" : 17, // UIN отправителя
"UID" : 21, // UID канала, куда следует отправить сообщение
"Msg" : "L$Hello!" // текст сообщения
}


Подскажите что не так.

Re: Сообщение в канал

СообщениеДобавлено: Чт июл 17, 2014 12:20 pm
Алексей Пикуров
Поправьте функцию function Send_Text_Channel, UIN там не обязателен, сервер и так знает, от чьего имени отправляется сообщение. В открытом протоколе чуть-чуть другая логика, но работать будет и так как вы написали - тоже, просто будет игнорироваться параметр UIN.

Я включил обработку сообщений в каналах для плагинов.
Сборка сервера и клиента, обновить оба: http://www.nsoft-s.com/mychat/beta/mychat1.zip

P.S. По разметке сообщений, рекомендую справку клиента: "Плагины" — "Создание своих плагинов" — "Форматирование сообщений" — "Форматирование текста".

Справка сейчас переписывается, но часть статей о плагинах актуальна, рекомендую почитать, всё, кроме раздела "Список функций", там устаревшая информация.

Re: Сообщение в канал

СообщениеДобавлено: Чт июл 17, 2014 3:28 pm
SV
Спасибо. Если что буду задавать вопросы по ходу продвижения. В конце выложу исходник в общее пользование.

Re: Сообщение в канал

СообщениеДобавлено: Чт июл 17, 2014 3:33 pm
Алексей Пикуров
Пожалуйста, спрашивайте конечно.

P.S. Не цитируйте пост без общей надобности целиком, просто жмите "Ответить" внизу страницы.

Re: Сообщение в канал

СообщениеДобавлено: Чт июл 17, 2014 3:35 pm
SV
Привык что кнопка ответить находиться именно там где у вас цитата.

Re: Сообщение в канал

СообщениеДобавлено: Чт июл 17, 2014 3:43 pm
SV
Алексей Пикуров писал(а):Поправьте функцию function Send_Text_Channel, UIN там не обязателен, сервер и так знает, от чьего имени отправляется сообщение. В открытом протоколе чуть-чуть другая логика, но работать будет и так как вы написали - тоже, просто будет игнорироваться параметр UIN.


Попробовал всё отлично заработало.
Но если будет указан UIN то работать не будет, проверил. Будет время поправьте этот момент.

Re: Сообщение в канал

СообщениеДобавлено: Чт июл 17, 2014 3:53 pm
Алексей Пикуров
Окей, проверю, thanks.