myDC.ru

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

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

> ShortUrls, API2 | Скрипт сокращения ссылок в чате

Теги
Нет тегов для показа
Nickolya
сообщение 1.9.2010, 23:14
Сообщение #1


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Название: ShortUrls
Версия: 1.01
Версия API: API2
Автор: Nickolya
Запросил: DEN 007 здесь

Скрипт сокращает в чате все ссылки, превышающие заданный в скрипте порог длинны, через сервис http://is.gd/

При отправке в чат чего-то типа
Код
http://mydc.ru/ipb.html?act=Search&nav=at&CODE=show&searchid=8176c5fd684f87cf834d8493133d1cb3&search_in=topics&result_type=topics&lastdate=86400
мы получим
Цитата
<Nickolya> http://is.gd/ePQkt (сокращенная ссылка на mydc.ru)


Код
    Изменения в 1.01:
        - команда для получения короткой ссылки
        - профили, которым доступна команда
        - меню для команды


Из конфига можно выделить
Код
local iMaxLen = 40    -- максимальная длинна ссылки для отправки в чат без сокращения, при ее привышении ссылка будет сокращена
http.TIMEOUT = 1    -- таймаут для ответа от сервера, в секундах

local sSeeCmd = "getshorturl"    -- команда для получения короткой ссылки
local tCanUseCmdsProfiles = {    -- профили, которым можно использовать команду
    [0] = true,
    [1] = true,
    [2] = true,
    [3] = true,
    [-1] = false,
}
local sMenuWay = "Меню пользователя\\"    -- путь в меню


Для работы, естественно, потребуется установленная библиотека сокетов.

Старая версия
Прикрепленный файл  ShortUrls_by_Nickolya_v_1.00.lua ( 1.12 килобайт ) Кол-во скачиваний: 34

Прикрепленные файлы
Прикрепленный файл  ShortUrls_by_Nickolya_v_1.01.lua ( 2.58 килобайт ) Кол-во скачиваний: 113
 


Спасибо сказали:
Go to the top of the page
+Quote Post
DEN 007
сообщение 1.9.2010, 23:32
Сообщение #2


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Спасибо, за скрипт...


Спасибо сказали:
Go to the top of the page
+Quote Post
Nickolya
сообщение 20.9.2010, 14:05
Сообщение #3


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Обновил версию по запросу реквестера, вся информация в первом посту.


Спасибо сказали:
Go to the top of the page
+Quote Post
DEN 007
сообщение 15.1.2011, 20:32
Сообщение #4


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Заметил интересную недоработку не обрабатываются ссылки с защищенным соединением, то есть https://

--------
Проблема решена!
А решается она так:
Находим и заменяем (59 строка)
Код
sData, i = sData:sub(tUser.sNick:len()+4, -1):gsub("(http://%S+)", function(sUrl)

на
Код
sData, i = sData:sub(tUser.sNick:len()+4, -1):gsub("([h]?[tf][t][p][s]?:%S+)", function(sUrl)


Далее, находим (83 строка)
Код
local sHost = sUrl:match '^http://(%S-)/'

Заменяем на
Код
local sHost = sUrl:match '^https?://(%S-)/'


Кому сие операции делать лень, качаем поправленную версию: Прикрепленный файл  ShortUrls_by_Nickolya_v_1.01.lua ( 2.59 килобайт ) Кол-во скачиваний: 9


Спасибо сказали:
Go to the top of the page
+Quote Post
DEN 007
сообщение 4.3.2011, 3:21
Сообщение #5


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




нашел интересную недоработку в скрипте, при использовании скрипта версии 1.01, в нем есть настройка local iMaxLen = 40 при которой в зависимости от максимальной длинна ссылки для отправки в чат без сокращения, при ее превышении ссылка будет сокращена, но проблема заключается в том что в скрите есть еще функция сокращения ссылки по команде и при обработки ссылки по команде происходит также проверка длинны что и по ссылке из чата, что неправильно.
Код
    if sUrl:len() > iMaxLen then

Да и желательно было бы в первом посте скрипт поправить на предмет обработки ссылок по защищенному протоколу https.
И заодно вынести настройку кеширования в переменную.
Вот такие вот пожелания big_smile.gif
Go to the top of the page
+Quote Post
DEN 007
сообщение 15.3.2011, 1:11
Сообщение #6


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Найдена еще одна недоработка, скрипт сканирует также пользовательские команды с ссылками, то есть скрипт пытается сначала проверить, а затем сократить ссылки из команд хабу, что приводит команды в неработоспособность.
Go to the top of the page
+Quote Post

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts От: ShortUrls
От темы с ID: 3849
0 Something_Wild 3 402 28.1.2011, 14:26 Посл. сообщение: Something_Wild
No New Posts Topic has attachmentsShortUrls
Скрипт сокращения ссылок в чате
1 Saymon21 5 429 13.12.2010, 2:02 Посл. сообщение: DEN 007

 



RSS Сейчас: 28.3.2024, 19:23