Страница 1 из 1
Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 8:55 am
lostfeartoday
Доброго дня, тестую 8 версію, дякуємо за те що можна вставляти внутрішні посилання, але є одне но, коли, пробую вставити посилання з скрипту на Python текст не перетворюється в посилання, а просто вставляться текстом, так якщо на нього натиснути начебто працює, коли натискаешь то відкриває браузер, а не провідник...
Дякую)
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 11:26 am
Алексей Пикуров
MessageType - MSG_TYPE_LAN_LINK, #7.
Внутри JSON объект:
Код: Выделить всё{
"Link" : "https://nsoft-s.com", // текст ссылки
"Desc" : "Бла-бла-бла" // описание ссылки. Необязательный параметр, если его нет, вставлять в чат описание, равное тексту ссылки
}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 11:26 am
Алексей Пикуров
Це не помилка, переношу тему до розділу скриптів.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 1:22 pm
lostfeartoday
Так Ви праві дякую)
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 1:22 pm
Алексей Пикуров
Все вийшло?
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 1:43 pm
lostfeartoday
ДА ні перед цім, я написав що дякую що перенесли в вірний розділ повідомлення)
"MyChat Scripts Language: справочник "Типы сообщений" та команда Type - MSG_TYPE_LAN_LINK, #7 mychat, це для внутрішньої скриптової мови "MyChat"?
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 1:47 pm
Алексей Пикуров
Так.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 1:57 pm
lostfeartoday
А в мене скрипт обробляє Python(по прикладу, що був у Вас розміщений), який вставляє посилання в MyChat .
Відкривши базу повідомлень з історії, я побачив, якщо додаю с буферу через ctrl+V, то додается, ось такий тег:
Код: Выделить всё{"Link":"n:\\\u041f\u041e\u0427\u0422\u0410\\2020\\\u0412\u0445\u0456\u0434\u043d\u0430\\07\\15\\","Desc":"n:\\\u041f\u041e\u0427\u0422\u0410\\2020\\\u0412\u0445\u0456\u0434\u043d\u0430\\07\\15\\"}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 1:58 pm
Алексей Пикуров
І що вас лякає?
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 1:59 pm
lostfeartoday
а якщо цей же тег спробувати вставити з скрипту на Python то вставляется простим текстом
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 2:00 pm
Алексей Пикуров
У відправці повідомлення треба правильно вказати message type. Покажіть свій код.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 2:05 pm
lostfeartoday
Код: Выделить всё# -*- coding: utf-8 -*-
import sys
import socket
import json
import struct
HOST = "ip"
PORT = 2004
with open(r"C:\Python27\m.txt", "r") as file_handler:
for line in file_handler:
print(line)
dict_obj = {
"cmd" : "0004", # //номер команди
"ServerKey" : "iddqd", # //ключ IntegrationAPI
"APIStype" : "python", # //з якого середовища відправляємо
"UserFrom" : "0", # //від якого користувача відправляємо (uin)
"UID" : "20", #//в яку конференцію відправляємо (номер)
"Msg" : (line) # //власне, саме повідомлення
}"
CRLF = r"\r\n"; # #13#10
CRLF = struct.pack("BB", 13, 10) # #13#10
MCIAPI_CS_SendPrivateMessage = "0002"
MCIAPI_CS_IsUINOnline = "0003"
MCIAPI_CS_SendChannelMessage = "0004"
MCIAPI_CS_GetUINByNick = "0005"
MCIAPI_CS_GetUINByEmail = "0006"
MCIAPI_CS_IsUINExists = "0007"
MCIAPI_CS_AddBBSMessage = "0008"
MCIAPI_SC_SetChannelTopic = "0009"
MCIAPI_CS_GetChannelNameByUID = "0010"
MCIAPI_CS_IsChannelExists = "0011"
MCIAPI_CS_GetUINByADLogin = "0012"
MCIAPI_CS_GetInfoByUIN = "0013"
MCIAPI_CS_GetServerInfo = "0014"
MagicPacket = struct.pack("BB", 23, 6) # B - unsigned char. 1 byte
cs_integration_api = "0077"
iFlag = "30"
try:
try:
skt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error as e:
print ("Error creating socket: %s" % e)
try:
skt.connect((HOST, PORT))
except socket.gaierror as e:
print("Address-related error connecting to server: %s" % e)
except socket.error as e:
print("Error connecting to socket: %s" % e)
try:
skt.send(b'mc5.20\r\n')
data = skt.recv(1024)
print(bytes.decode(data))
skt.send(MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendChannelMessage + json.dumps(dict_obj) + CRLF)
data = skt.recv(1024)
print bytes.decode(data)
except socket.error as e:
print("Error connecting to socket: %s" % e)
finally:
skt.close()
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт июл 21, 2020 2:26 pm
Алексей Пикуров
Понял. Не получится сделать отправку, в Integration API нельзя указать MessageType, там строго текст сейчас, без вариантов.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт дек 08, 2020 1:01 am
Алексей Пикуров
Добавили в функции отправки текстовых сообщений в конференции и приваты необязательный параметр MsgType. Если его нет, то сообщение передаётся всегда текстом, если есть - то в чате будет происходить рендер согласно типа сообщения.
Я подготовлю документацию и сброшу сюда ссылку, будет работать в версии 8.2.5, сборка на сайте будет на этой неделе.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Чт дек 10, 2020 1:44 am
Алексей Пикуров
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 3:20 pm
lostfeartoday
Змінив тип даних на посилання, викидає помилку якщо зайти в конференцію де вставляєть це посилання.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 3:21 pm
Алексей Пикуров
Покажіть свій код, будь ласка.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 3:37 pm
Алексей Пикуров
Ви повинні формувати корректний JSON, а не відправляти аби що.
https://nsoft-s.com/mcserverhelp/index. ... etypes.htmКод: Выделить всёMSG_TYPE_ANY_LINK
Интернет-ссылка. JSON объект. Примеры:
http://
https://
ftp://
www.nsoft-s.com
ya.ru
domain.google
internal.yandex
домен.укр
{
"Link" : "https://nsoft-s.com", // текст ссылки
"Desc" : "Бла-бла-бла" // описание ссылки. Необязательный параметр,
// если его нет, вставлять в чат описание,
// равное тексту ссылки
}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 4:29 pm
lostfeartoday
Тобто для того щоб був правильне формування корректного JSON замість
у Код: Выделить всёdict_obj = {
"Msg" : (line) # //власне, саме повідомлення
}
треба підставити Код: Выделить всёdict_obj = {
"Link" : (line) # //посилання
}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 4:31 pm
Алексей Пикуров
Нет. В Msg внутри должен быть JSON объект. С двумя полями, как в справке написано.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 4:58 pm
lostfeartoday
Код: Выделить всёdict_obj = {
"cmd" : "0004", # //номер команди
"ServerKey" : "iddqd", # //ключ IntegrationAPI
"APIStype" : "python", # //з якого середовища відправляємо
"UserFrom" : "0", # //від якого користувача відправляємо (uin)
"UID" : "31", #//в яку конференцію відправляємо (номер)
"Msg" :
{
"Link" : "https://nsoft-s.com", #// текст ссылки
"Desc" : "Бла-бла-бла"
}
}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 5:29 pm
Алексей Пикуров
А MsgType где в JSON ?
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 5:41 pm
lostfeartoday
Дякую розібрався все працює
Код: Выделить всёdict_obj = {
"cmd" : "0004", # //номер команди
"ServerKey" : "iddqd", # //ключ IntegrationAPI
"APIStype" : "python", # //з якого середовища відправляємо
"UserFrom" : "0", # //від якого користувача відправляємо (uin)
"UID" : "31", #//в яку конференцію відправляємо (номер)
"MsgType" : "8",
"Msg" : {
"Link" : "https://nsoft-s.com", #// текст ссылки
"Desc" : "Бла-бла-бла"
}
}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 5:43 pm
Алексей Пикуров
Чудово, користуйтеся на здоров'я.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 5:56 pm
lostfeartoday
В клієнті якщо вставити стандартно відкриває, якщо скриптом, то видає таке повідомлення.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 5:57 pm
Алексей Пикуров
І ?
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 5:59 pm
Алексей Пикуров
Ви не той MsgType взяли.
Вам треба "7. MSG_TYPE_LAN_LINK". Ви ж лінк в локальній мережі хочете отримати.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 6:06 pm
lostfeartoday
Код: Выделить всёdict_obj = {
"cmd" : "0004", # //номер команди
"ServerKey" : "iddqd", # //ключ IntegrationAPI
"APIStype" : "python", # //з якого середовища відправляємо
"UserFrom" : "0", # //від якого користувача відправляємо (uin)
"UID" : "31", #//в яку конференцію відправляємо (номер)
"MsgType" : "7",
"Msg" : {
"Link" : line, #// текст ссылки
}
}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 6:10 pm
Алексей Пикуров
Очевидно, лінк недоступний. В повідомленні ясно про це сказано.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 6:20 pm
lostfeartoday
Якщо копіюю та вставлю тут же то переходить нормально)
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 6:21 pm
Алексей Пикуров
Думаю, для доступа к вашей сетевой папке надо первый раз вводить имя и пароль пользователя. Это так?
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 6:29 pm
lostfeartoday
по логам якщо вставляю вручну:
Код: Выделить всё{"Link":"\\\\10.0.23.75\\Poshta\\\u041f\u041e\u0427\u0422\u0410\\2020\\\u0412\u0445\u0456\u0434\u043d\u0430\\12\\21\\-\u0420\u043e\u0449\u0456\u043d\u0430 \u0412\u0456\u043a\u0442\u043e\u0440\u0456\u044f \u041e\u043b\u0435\u043a\u0441\u0456\u0457\u0432\u043d\u0430-\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430_ \u043c.\u0421\u0443\u043c\u0438\\","Desc":"\\\\10.0.23.75\\Poshta\\\u041f\u041e\u0427\u0422\u0410\\2020\\\u0412\u0445\u0456\u0434\u043d\u0430\\12\\21\\-\u0420\u043e\u0449\u0456\u043d\u0430 \u0412\u0456\u043a\u0442\u043e\u0440\u0456\u044f \u041e\u043b\u0435\u043a\u0441\u0456\u0457\u0432\u043d\u0430-\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430_ \u043c.\u0421\u0443\u043c\u0438\\"}
якщо скриптом
Код: Выделить всё{"Link":"\\\\10.0.23.75\\Poshta\\ПОЧТА\\2020\\Вхідна\\12\\21\\"}
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 6:34 pm
Алексей Пикуров
Кирилицу надо экранировать в JSON.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Пн дек 21, 2020 6:35 pm
Алексей Пикуров
Позвоните мне, есть вопросы.
Re: Відправка тексту з посиланням в приват-повідомлення ( за допомогою Python скрипту)
Добавлено:
Вт дек 22, 2020 10:34 am
lostfeartoday
Дякую розробникам, зв'язалися та допомогли розібратися та знайти проблему.
Так треба екранувати кирилицю в JSON.