Роботы, плагины и скрипты к чату MyChat. Разработка альтернативных клиентов и различных утилит. Технические вопросы по программированию, замечания и предложения по развитию API
Аватара пользователя
SV
Судя по всему многие функции не работают в плагинах.

Например смена темы канала:

Код: Выделить всё
function New_Topic_Channel(UID:Integer; Topic:WideString):WideString;
var
  JSONobj: ISuperObject;
begin
  JSONobj := SO();
  JSONobj.I['UID']    := UID;
  JSONobj.S['Topic']  := Topic;
  result := JSONobj.AsJSon;
  JSONobj.Clear(true);
  JSONobj := nil;
end;

  mcSendDataToMyChat(MCC_Send_ChangeTextChannelTopic, New_Topic_Channel(StrToInt(Channel_List.Cells[0, Channel_List.Row]), Memo1.Text));


В данный момент пока нет актуальной документации по плагинам буду выкладывать в эту тему найденные не рабочие функции.

Хотя наверно надо было в другой раздел закинуть тему.
Аватара пользователя
Алексей Пикуров
Да, так и есть. Выкладывайте всё в раздел о плагинах, я буду править.
Аватара пользователя
SV
Переместите тему в раздел плагины.

А теперь список проверенных мной функций:

  • MCC_Get_MyStatus = 11; //Не понял как он работает
  • MCC_Get_IsConnected = 12; //Не понял как с ним работать
  • MCC_Get_SmileCode = 13; //Не понял как с ним работать
  • MCC_Get_IsPluginLoaded = 14; //Не понял как с ним работать
  • MCC_Get_UserActiveCaption = 15; //Не работает(Пустое значение)
  • MCC_Get_ActiveLocale = 16; //Работает
  • MCC_Get_PluginFolder = 17; //Не работает(Разрушительная ошибка)
  • MCC_Get_ComputerHardwareID = 18; //Не работает(Пустое значение)
  • MCC_Get_MyUIN = 19; //Работает

Скорей всего помеченные оранжевым не работают или я не правильно их использовал.
Аватара пользователя
SV
Есть ли какие продвижения?
Аватара пользователя
Алексей Пикуров
Да, работаю, ждите.
Аватара пользователя
Алексей Пикуров
Готово. Краткое описание работающих функций - viewtopic.php?p=15251#p15251

MCC_Get_IsConnected - упразднена, есть MCC_Get_MyStatus для получения текущего статуса (-1 - офлайн).
MCC_Get_SmileCode - упразднена, смайлики вставляются в сообщения иначе, я опишу позже в справке, как это делается.

Все остальные функции уже описаны в справке MyChat Client, справка ещё не в актуальном состоянии, но работа движется в "правильном направлении".

Все функции MCC_Get..... возвращают в ответ JSON объект, структура полей описана в справке. Функции MCC_Get.... не требуют отправки данных на сервер, они возвращают результат мгновенно, в отличие от функций MCC_Send....., которые просто отправляют на сервер команду, ответ на которую возбуждает событие MCC_On_... в плагине.

Сборка сервера и клиента, обновить оба: http://www.nsoft-s.com/mychat/beta/mychat2.zip
Обновлённый mcClientAPI.pas - http://nsoft-s.com/mychat/beta/mcClientAPI.pas
Аватара пользователя
SV
Спасибо, будем работать.