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

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

MyDC.ru _ Готовые скрипты для PtokaX _ Newsbot

Автор: OtshelnikFm 5.1.2009, 0:01

Название скрипта: Newsbot
Версия API: API 2
Автор скрипта: Modest
Описание: Скрипт новости хаба (Спасибо Setuper за доведение до ума)
Возможности скрипта:
-Подписаться на рассылку новостей
- Отписаться от рассылки новостей
- Получить последние новости
- Добавить новость
- Удалить новость
- Получить справку по доступным командам
--
-- Список команд админа:
- Добавить статическую новость
- Изменить новость по номеру
- Удалить новость по номеру
- Удалить все новости
- Банить Ip-адрес
- Разбанить Ip-адрес
- Банить Ip-адрес пользователя <ник>
- Разбанить Ip-адрес пользователя <ник>
- Список Ip-адресов отписчиков
- Список забаненых Ip-адресов

Чтобы пользователи могли добавлять и убирать свои новости раскоментируйте 188, 190, 191 строки:

Цитата
--AddMenuItem(ARR_MENU_USER, 2, 1, CFG_MESSAGES.MENUITEM_ADD_OWN, "!news_add %[line:" .. msg .. "]")

--AddMenuItem(ARR_MENU_USER, 2, 1, CFG_MESSAGES.MENUITEM_DELETE_OWN, "!news_delete")
--AddMenuItem(ARR_MENU_USER, 2, 1, CFG_MESSAGES.MENUITEM_HELP, "!news_help")

Вобщем очень гибкий в настройках скрипт

upd 7.01.09 - заменил подправленое вложение (устранил ошибку при заходе зарегенных пользователей)

 NEWSBOT.rar ( 11.44 килобайт ) : 577
 

Автор: D'aspid 5.1.2009, 9:50

Не удается поменять меню:

Цитата
MENUNAME = "Новости" -- Название ветки в контекстном меню хаба

Менял на:
Цитата
MENUNAME = "• Меню Хаба//Новости" -- Название ветки в контекстном меню хаба

В итоге в меню хаба оно так и появляется в одну строчку.

Автор: Taulalan 5.1.2009, 10:00

Цитата
MENUNAME = "• Меню Хаба//Новости" -- Название ветки в контекстном меню хаба

вот так правильно
Код
MENUNAME = "• Меню Хаба\\Новости" -- Название ветки в контекстном меню хаба

Автор: Sky2k 5.1.2009, 13:56

я так понял эти строчки (поправка не 2, 1 а 5, 1)
--AddMenuItem(ARR_MENU_USER, 5, 1, CFG_MESSAGES.MENUITEM_ADD_OWN, "!news_add %[line:" .. msg .. "]")

--AddMenuItem(ARR_MENU_USER, 5, 1, CFG_MESSAGES.MENUITEM_DELETE_OWN, "!news_delete")
--AddMenuItem(ARR_MENU_USER, 5, 1, CFG_MESSAGES.MENUITEM_HELP, "!news_help")

--всё понял, спасибо.--

Автор: OtshelnikFm 5.1.2009, 16:10

Цитата(Sky2k @ 5.1.2009, 13:56) *
я так понял эти строчки (поправка не 2, 1 а 5, 1)
--AddMenuItem(ARR_MENU_USER, 5, 1, CFG_MESSAGES.MENUITEM_ADD_OWN, "!news_add %[line:" .. msg .. "]")

--AddMenuItem(ARR_MENU_USER, 5, 1, CFG_MESSAGES.MENUITEM_DELETE_OWN, "!news_delete")
--AddMenuItem(ARR_MENU_USER, 5, 1, CFG_MESSAGES.MENUITEM_HELP, "!news_help")

В скрипте стоит условие: 5, 1 - это меню будет видно оператору и админу. А 2, 1 - это доступно будет зарегенному пользователю (Поэтому я в той версии скрипта который выложил закоментировал эти строки т.к. не хочу чтобы пользователи добавляли новости а только администрация)

Автор: Sky2k 7.1.2009, 20:00

появился вопрос: а где меню можно изменить? в самом скрипте я не нашел...

Автор: OtshelnikFm 7.1.2009, 22:35

Цитата(Sky2k @ 7.1.2009, 20:00) *
появился вопрос: а где меню можно изменить? в самом скрипте я не нашел...

MENUNAME = "Название вашей менюшки" -- Название ветки в контекстном меню хаба

121 строка

Автор: Sky2k 7.1.2009, 23:45

не правильно я вопрос сформулировал, как поменять навзание меню, а вернее где оно, а именно такой пункт меню как * раскрыть все тайны* когда выводится все новости. Я это имел в виду big_smile.gif

Автор: OtshelnikFm 7.1.2009, 23:55

Файл lang.cfg в папке NEWSBOT\TEXT\
MENUITEM_LIST = Раскрыть тайны - 4 строка

Автор: Sky2k 18.1.2009, 19:32

еще вопрос, как сделать так, чтобы при заходе на хаб, о тимени бота в личку не приходили новости ?

Автор: KauH 19.1.2009, 13:21

если это не твой хаб , то можно заигнорить бота
а так строка 595

Код
Core.SendPmToUser(user,BOTNAME, TEXT_NEWS)
на
Код
Core.SendToUser(user,BOTNAME, TEXT_NEWS)

Автор: Sky2k 19.1.2009, 15:46

сделал так и пропало меню. птока 0411. это я такой кривой или скрипт?

Автор: Wariner 19.1.2009, 20:08

Цитата(OtshelnikFm @ 5.1.2009, 0:01) *
Скрипт новости хаба (Спасибо Setuper за доведение до ума)

Позволяет:
-Подписаться на рассылку новостей
- Отписаться от рассылки новостей
- Получить последние новости
- Добавить новость

Надо просто правильно настроить!!!

Автор: ЖЛОБ 4.2.2009, 12:54

Поставил выдало Синтакс ...utivs\хабы томска\0.3.6.0\scripts\NewsBot_newapi.lua:111: attempt to index global 'Core' (a nil value)
PtokaX0.3.6.0 в чем проблема подскажите

Автор: Setuper 4.2.2009, 13:15

потому что скрипт под API2 !

Автор: ЖЛОБ 4.2.2009, 14:59

а есть под API 1? выложите плиз очень надо

Автор: OtshelnikFm 5.2.2009, 3:11

Цитата(ЖЛОБ @ 4.2.2009, 14:59) *
а есть под API 1? выложите плиз очень надо

Вот Api1.

P.s. - переходить пора уже на новое апи. тем более 98 % всех скриптов под новый апи есть

 NewsBot.rar ( 16.61 килобайт ) : 40
 

Автор: ЖЛОБ 5.2.2009, 6:22

Цитата(OtshelnikFm @ 5.2.2009, 3:11) *
Вот Api1.

P.s. - переходить пора уже на новое апи. тем более 98 % всех скриптов под новый апи есть



Сейчас пока времени нет перенастраивать все за скрипт огромное спасибо!!

Автор: Илья Иванович 15.2.2009, 19:42

Доброго времени суток!
Очень хотелось бы иметь возможность вводить многострочечные новости, т.е. несколько абзацев......
Может кто-нибудь подскажет как?
Спасибо!

Автор: Wariner 15.2.2009, 21:03

попробуй в месте переноса строки написать \r\n

Автор: Илья Иванович 17.2.2009, 7:35

Цитата(Wariner @ 15.2.2009, 21:03) *
попробуй в месте переноса строки написать \r\n

Спасибо! Но если бы я знал где и как.................

Автор: Setuper 17.2.2009, 10:24

Для многострочного ввода команды нужно использовать команду непосредственно, а не через менюшку!

Автор: li4nost 26.2.2009, 21:47

подскажите пожалуйста, как вставить автора (т.е. ник пользователя) новости.
ато все оно приписывается боту "Новость"

Автор: Derk_B_P 3.3.2009, 22:54

Возможно, ли в скрипте изменить значения отсылки новостей при в ходе на хаб?
Что бы новости не приходили в ПМ, а в главный чат.

P.S.: На этот http://mydc.ru/topic1036.html?view=findpost&p=8625 не отправлять.
Когда изменил на Core.SendToUser(user,BOTNAME, TEXT_NEWS), скрипт выдал ошибку -

[22:01] Синтаксис F:\servers\PtokaX_0.4.1.1\scripts\NewsBot_newapi.lua:595: bad argument count to 'SendToUser' (2 expected, got 3)

Автор: Derk_B_P 11.3.2009, 1:25

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

Добавляю новость, а скрипт вместо записи в новость+1 пишет всё в ту же новость.


Цитата
[23:56:41] <[BOT]Доска_Объявлений> Пользователь Derk_B_P добавил(а) новинку 3: Тест
[23:57:34] <[BOT]Доска_Объявлений> Пользователь Derk_B_P добавил(а) новинку 3: тест2
[23:57:39] <[BOT]Доска_Объявлений> Пользователь Derk_B_P добавил(а) новинку 3: тест 4
[23:58:21] <[BOT]Доска_Объявлений> Пользователь Derk_B_P добавил(а) новинку 3: тест2
[23:59:56] <[BOT]Доска_Объявлений> Пользователь Derk_B_P добавил(а) новинку 3: тест99

Автор: Angel_D 11.3.2009, 14:57

Есть вопрос.
Сейчас есть острая необходимость в том, чтоб информацию получили и незарегистрированыые на хабе пользователи получили информацию - что да как подправить, чтобы при входе им выкидывало новость?
Попробовал поколдовать с пунктом...

Код
-- Идентификация профилей хаба
ACCESS_RIGHTS        = { [0] = 5, [1] = 4, [2] = 3, [3] = 2, [-1] = 0 }

Не помогло. Может не то колдовал?..

Автор: Wariner 11.3.2009, 16:12

Цитата(Derk_B_P @ 3.3.2009, 22:54) *
Возможно, ли в скрипте изменить значения отсылки новостей при в ходе на хаб?
Что бы новости не приходили в ПМ, а в главный чат.

P.S.: На этот http://mydc.ru/topic1036.html?view=findpost&p=8625 не отправлять.
Когда изменил на Core.SendToUser(user,BOTNAME, TEXT_NEWS), скрипт выдал ошибку -

[22:01] Синтаксис F:\servers\PtokaX_0.4.1.1\scripts\NewsBot_newapi.lua:595: bad argument count to 'SendToUser' (2 expected, got 3)

извиняюсь конечно но если если ты не можешь форум почитать, скрипт интерфейс или ещё что нибудь, то нефиг пинать на других!
а если бы ты хоть чуть чуть пошевелился то увидел бы что в чат отсылается два аргумента а в приват 3, о чём и пишется в ошибке!
дословно (2 expected, got 3) переводится как 2 ожидается, имеется 3!!!
правильно так:
Код
Core.SendPmToUser(user,"<"..BOTNAME.."> "..TEXT_NEWS)


Цитата
есть острая необходимость в том, чтоб информацию получили и незарегистрированыые

надо заменить функцию UserConnected на следующий код:
Код
function UserConnected(user)
    Core.SendToUser(user,BOTTAG)            -- Информация о боте
    if (ARR_UNSUBSCRIBE_IP[user.sIP] ~= 1) then       -- Пользователь отписан от рассылки новостей
        Core.SendPmToUser(user,BOTNAME, TEXT_NEWS)
    end  
    for i, v in ipairs(ARR_MENU_USER) do   -- Контексное меню пользователя
        Core.SendToUser(user,v.Text)
    end
end

Автор: Angel_D 11.3.2009, 17:58

Wariner, спасибо, помогло, +1. Только еще одно "end" похоже было лишним. Удалил - заработало и вроде даже адыкватно.

Автор: li4nost 19.3.2009, 16:22

скажите, как изменить обтора Обьявления на ник подающего обьявку?

ДОСКА ОБЪЯВЛЕНИЙ ХАБА --== тест ==--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Номер Дата Автор Сообщение
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
1 2009-03-19 15:19 Объявления тест доски обьявлений
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
Всего: 1

Автор: li4nost 21.3.2009, 18:40

ну помогите пожалуйста :(

автор каждого обьявления не юзер, а Обьявления

Автор: li4nost 23.3.2009, 3:14

все понял big_smile.gif
удалите плз 23, 29, 30, 31 пост big_smile.gif

ключевой момент - "раскомментируйте"

Автор: Heil 23.3.2009, 15:59

Код
[18:58] Синтаксис D:\Server\DC\PtokaX0.4.1.1\scripts\NewsBot_newapi.lua:121: unexpected symbol near '='

В чём проблема?

Автор: OtshelnikFm 23.3.2009, 23:57

Цитата(Heil @ 23.3.2009, 15:59) *
Код
[18:58] Синтаксис D:\Server\DC\PtokaX0.4.1.1\scripts\NewsBot_newapi.lua:121: unexpected symbol near '='

В чём проблема?

У тебя точно так:
Код
MENUNAME        = "Тайны Приюта"    -- Название ветки в контекстном меню хаба


тоесть нету лишних знаков? Кавычки стоят?

Автор: Heil 24.3.2009, 12:00

MENUNAME = "Новости"
да так, не пойму в чём дело what1.gif

Автор: li4nost 24.3.2009, 12:18

а у меня была похожая ошибка, только анэкспектед симбол ниа [
не знаю что не так было...
но выключил полностью хаб. и потом просмотрел еще раз скрипт - все как-то само пропало...

Автор: Wariner 24.3.2009, 19:35

115 - 125 строчки в студию(121 пометь!)

Автор: Heil 24.3.2009, 21:23

CODE
FILENAME_NEWS = PATH_DATA .. "news.dat"
FILENAME_UNSUBSCRIBERS = PATH_DATA .. "unsubscribers.dat"
FILENAME_BANNED = PATH_DATA .. "banned.dat"

-- Настройки
BOTNAME = "Новости" -- Имя бота новостей
MENUNAME = "Новости" -- Название ветки в контекстном меню хаба !!!!!! 121!!!!
MAX_USER_NAME = 20 -- Максимальная длина имени пользователя
MAX_TEXT_LEN = 700 -- Максимальная длина текста новости
ACTUAL_DAYS = 20 -- Количество дней актуальности (хранения) новости
SAVE_DATA_PERIOD = 40 -- Период сохранения данных на диск (в минутах)

Автор: Wariner 24.3.2009, 21:58

странно! должно работать!

Автор: li4nost 24.3.2009, 22:09

скажите, как сделать, чтоб для подачи объявления надо было кликать не по закладкам, а можно было и по юзерам?
не очень удобно если честно :(

Автор: Wariner 24.3.2009, 22:12

Код
"$UserCommand 1 3

Автор: li4nost 24.3.2009, 22:17

а куда писать? big_smile.gif
в каком моменте?

Автор: Wariner 24.3.2009, 22:32

в функции UserConnected при отправки сообщения с меню!

Автор: MARVELtm 16.4.2009, 13:26

Подскажите пожалуйста, можно ли сделат что бы предыдущие новости не удолялись , если один и тот же человек Добовляет новость.. =) И что на счет новостей в несколько строк ) Реально такое ? И как что бы у админа хаба меню было, что то копался копался - не смог сделать.... что такое 2, 1, или 5, 1, ???


Прошу помощи! если нмкак нельязя, придется переходить на скрпит гостевой книги снова (((

Автор: emk HABICH 35 4.8.2009, 10:48

извините читал,читал не понял как сделать чтобы новости приходили не в приват а в главный чат и как сделать чтобы приходили незарегистрированым

Автор: Strannik 4.8.2009, 11:46

Цитата(MARVELtm @ 16.4.2009, 14:26) *
Подскажите пожалуйста, можно ли сделат что бы предыдущие новости не удолялись , если один и тот же человек Добовляет новость.. =) И что на счет новостей в несколько строк ) Реально такое ? И как что бы у админа хаба меню было, что то копался копался - не смог сделать.... что такое 2, 1, или 5, 1, ???


Прошу помощи! если нмкак нельязя, придется переходить на скрпит гостевой книги снова (((


так используй базу реализов, там при входе будет показывать 10 реализов http://mydc.ru/topic298.html?pid=4719&#entry4719

Автор: KraSav4EK 14.8.2009, 12:10

Цитата(emk HABICH 35 @ 4.8.2009, 11:48) *
извините читал,читал не понял как сделать чтобы новости приходили не в приват а в главный чат и как сделать чтобы приходили незарегистрированым


CODE
- <<< При подключении пользователя >>>
function UserConnected(user)
Core.SendToUser(user,BOTTAG) -- Информация о боте

if RegMan.GetReg(user.sNick) then
-- Пользователь отписан от рассылки новостей
if (ARR_UNSUBSCRIBE_IP[user.sIP] ~= 1) then
Core.SendPmToUser(user,BOTNAME, TEXT_NEWS)
end

-- Контексное меню пользователя
for i, v in ipairs(ARR_MENU_USER) do
Core.SendToUser(user,v.Text)
end
end
end

найди это
Код
Core.SendPmToUser(user,BOTNAME, TEXT_NEWS)

замени на
Код
Core.SendToUser(user,TEXT_NEWS)

Автор: KraSav4EK 16.8.2009, 20:12

скрипт начал выдавать ошибку при распаковке и только профилю мастер. что делать?

Автор: Chis 4.10.2009, 23:42

как бы сделать чтобы незареганые видели нвоости,
и нельзя ли сделать чтобы при добавлении новости писалось в общаг, что новость добавлена, всем

Автор: X-Sky 7.10.2009, 9:37

Цитата
как бы сделать чтобы незареганые видели новости


-- Работает только с зарегистрированными пользователями. (с)

Цитата
и нельзя ли сделать чтобы при добавлении новости писалось в общаг, что новость добавлена, всем


Измени в скрипте:
Код
F_INFORM_BY_ADD = 0

на
Код
F_INFORM_BY_ADD = 1