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

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

MyDC.ru _ Служебные скрипты [PtokaX] _ Опросы (poll_bot V.1.4a Русская Версия)

Автор: dimetrius 12.7.2008, 16:45

Опросы (Poll_Bot v.1.4a Русская версия)
Скрипт для проведения опросов (Самая функциональная на данный момент версия)

Версия скрипта: 1.4a
Версия API: 2

Автор: Madman
Русский перевод: dimetrius

http://mydc.ru/r/?http://board.ptokax.ch/index.php

Некоторые фишки скрипта:
Есть возможность юзеру выбрать несколько вариантов ответа!
Не напрягает в личку администрацию, когда кто-то голосует!
При создании нового опроса каждый подключеный участник получает личное сообщение с предложением проголосовать
Если опрос создан ранее, а человек только сейчас подключился, то он так же получает уведомление с предложением проголосовать
Вы всегда сможете узнать чего хотят от ваш ваши пользователи big_smile.gif

 Poll.Bot.v.1.4a.LUA5.1_API2_RUS.7z ( 7.21 килобайт ) : 1101
 

Автор: derSpinner 14.7.2008, 4:44

Спасибо однако. подыскивали как раз=)

Автор: dimetrius 27.7.2008, 14:28

Обновление скрипта!

Изменения (начиная с версии 1.3е):

Цитата
-- v1.3e: 29.06.08
-- [Fixed] Fixed buwg, when showing current user as created when checking #pollusers, reported by miago
-- v1.3f: 12.07.08
-- [Fixed] bug with WriteFile, files saved at wrong path
-- v1.3g: 12.07.08
-- [Fixed] SendToPmUser error in OldPoll
-- v1.3h: 21.07.08
-- [Changed] New #oldpoll layout
-- v1.4: 23.07.08
-- [Added] Option to disallow users from voteing on same answer more then once, request by dimetrius
-- [Changed] Layout of pollvotes table
--[[-- !IMPORTANT!
The new layout makes the pollvotes table invalid.
So BEFORE upgrade to 1.4, finsih your current running poll,
or all users will be able to vote again!
--]]--
-- [Removed] UserDisconnected function, it did not do anything
-- [Fixed] Bug in pollusers, due to new pollvotes
-- v1.4a: 25.07.08
-- [Fixed] Pollanswers got unsorted, thanks dimetrius for fix

Автор: Andrey_SHANDERA 27.7.2008, 19:17

А случаем нет такого на АПИ1?

Автор: dimetrius 27.7.2008, 20:19

есть опросы, но без возможности устраивать "мультиопросы"

Автор: derSpinner 28.7.2008, 2:48

на большом кол-ве юзверей систему не грохает?

Автор: dimetrius 28.7.2008, 8:39

У меня вот статистика за последнюю неделю:

Цитата
>> Рекорд юзеров одновременно: 198 2008/01/12 19:26:21
Рекорд общей шары: 31.933 TБ 2008/05/18 16:47:01
За всю историю работы хаба здесь побывало 2423 юзеров.


Кстати стоит Хубба,никто никого особо не грузит! Хотя... я то точно и не знаю, т.к. не могу посмотреть! Серевер стоит на выделенном серваке провайдера! А туда доступ только по фтп!

Автор: derSpinner 29.7.2008, 5:43

вроде работает. норм все. данкэ

Автор: Cjay 27.8.2008, 16:20

а можно ли сделать, что бы незарегестрированные юзеры не могли голосовать? а то бывает позаходят с 10 ников и наголосуют....
И хотелось бы при отправлении опроса в архив, что бы его результаты сортировались не по номеру вопроса, а по голосам. В лучшем варианте, что бы это делалось и при просмотре результатов...
Так же заметил что иногда, при большом кол-ве вариантов ответа скрипт разбрасывает их в результатах как попало

Автор: djem 28.8.2008, 0:20

а есть такой же функционал на апи1?

Автор: dimetrius 28.8.2008, 7:47

Цитата(djem @ 28.8.2008, 0:20) *
а есть такой же функционал на апи1?

нет, есть только устаревшие версии без мультиопросов big_smile.gif Посмотри выше что это такое

Автор: MEXAHuK 19.10.2008, 13:26

что это такое?

Цитата
[16:24] Синтаксис ...\0.4.1.1\scripts\Poll.Bot.v.1.4a.LUA5.1_API2_RUS.lua:108: attempt to index global 'Core' (a nil value)

и как исправить?

Автор: Sephiroth_Lukaw 19.10.2008, 14:18

Попробуй так

Код
function loadlua(file,msg)
    local f = assert(loadfile(Core.GetPtokaXPath().."scripts\\Poll\\"..file), msg)
    return f()
end
-- loadlua(pollvotes,pollvotes.." таблицу для "..bot.." не найдено")
-- loadlua(pollsettings,pollsettings.." таблицу для "..bot.." не найдено")
-- loadlua(pollold,pollold.." таблицу для "..bot.." не найдено")
function OnStartup()
loadlua(pollvotes,pollvotes.." таблицу для "..bot.." не найдено")
loadlua(pollsettings,pollsettings.." таблицу для "..bot.." не найдено")
loadlua(pollold,pollold.." таблицу для "..bot.." не найдено")
    Core.RegBot(bot,botDesc.."<"..botTag..">",botEmail,true)
end

Автор: MEXAHuK 19.10.2008, 14:50

Цитата(Sephiroth_Lukaw @ 19.10.2008, 17:18) *
Попробуй так
Код
function loadlua(file,msg)
    local f = assert(loadfile(Core.GetPtokaXPath().."scripts\\Poll\\"..file), msg)
    return f()
end
-- loadlua(pollvotes,pollvotes.." таблицу для "..bot.." не найдено")
-- loadlua(pollsettings,pollsettings.." таблицу для "..bot.." не найдено")
-- loadlua(pollold,pollold.." таблицу для "..bot.." не найдено")
function OnStartup()
loadlua(pollvotes,pollvotes.." таблицу для "..bot.." не найдено")
loadlua(pollsettings,pollsettings.." таблицу для "..bot.." не найдено")
loadlua(pollold,pollold.." таблицу для "..bot.." не найдено")
    Core.RegBot(bot,botDesc.."<"..botTag..">",botEmail,true)
end

спасибо
но! работает только в случае если function OnStartup() выше function loadlua(file,msg)

Автор: Vizunchik 12.1.2009, 21:39

Код
[23:37] Синтаксис ...\0.4.1.1\scripts\Poll.Bot.v.1.4a.LUA5.1_API2_RUS.lua:126: attempt to index global 'PollSettings' (a nil value)

помогите истправить ошибку

Автор: Strannik 16.1.2009, 0:25

При провеки скрипта выводит такую ошибку

Код
Синтаксис [string "-- Poll.Bot.v.1.4a in LUA 5.1..."]:75: attempt to index global 'SetMan' (a nil value)

Автор: Sephiroth_Lukaw 16.1.2009, 4:36

Запусти хаб.

Автор: Setuper 16.1.2009, 4:41

Обойти ошибку можно, если все функции с SetMan писать в функции OnStartup

Автор: Gangster-Toni 20.1.2009, 20:52

Спс нормальная вещь! :P

Автор: IceRoma 31.1.2009, 20:48

Ребят помогите пожалуйста. Создаю опрос, далее пишет переходим в личку бота надпись ...Ответ 1/5. И всё. Не помощи в скрипте... незнаю какую командную строку ввести чтобы присвоить первому варианту Имя... второму и т.д.

Автор: FallenAngel 1.2.2009, 11:29

Ты создаешь опрос, в котором 5 ответов. Какие именно ответы (да,нет,не зна, потом и т.д.) ты сам вводишь ему в личку. То, что ты там напишешь такие и могут выбирать юзеры вырианты ответов

Автор: IceRoma 1.2.2009, 13:50

Цитата(FallenAngel @ 1.2.2009, 12:29) *
Ты создаешь опрос, в котором 5 ответов. Какие именно ответы (да,нет,не зна, потом и т.д.) ты сам вводишь ему в личку. То, что ты там напишешь такие и могут выбирать юзеры вырианты ответов

Просто через запятую?

**************************************************
Создание опроса
**************************************************
Автор опроса = IceRoma
Название опроса = Валентинов_День
Сколько вариантов ответа можно выбрать: 1
Вопрос опроса: Что вы будете дарить любимому человеку?
Количество вариантов ответа = 5
**************************************************
[16:43:52] <Чертёнок> Ответ 1/5:
[16:44:48] <IceRoma> Велентинку, Цветы, Конфеты, Себя), Нечего

Неработает, в строчку, в столбик, с запятыми, без них ноль эмоции.

Автор: NikseR 1.2.2009, 13:57

Если Бот просит ввести "Ответ 1/5" - это подразумевает первый ответ из пяти, а не все пять сразу beat_brick.gif

Автор: IceRoma 1.2.2009, 19:33

Цитата(NikseR @ 1.2.2009, 14:57) *
Если Бот просит ввести "Ответ 1/5" - это подразумевает первый ответ из пяти, а не все пять сразу beat_brick.gif


Это и так понятно, не кажись умнее остальных.
Ты объясни мне последовательность команд! Ввёл слово нажал Enter что дальше должно происходить??????????
Видимо "Ответ 2/5", но он не переходит на следующий этап.
Ошибок нет, может скрипт нерабочий? Если неработает то что он делает в этом разделе, а если работает то объясните полную последовательность! (Всё перепробывал)

Автор: FallenAngel 2.2.2009, 15:22

Поставь его повыше.

Цитата
**************************************************
Создание опроса
**************************************************
Автор опроса = [A]ИВ@N-TRakcTORiSt
Название опроса = Валентинка
Сколько вариантов ответа можно выбрать: 2
Вопрос опроса: Что Вы хотите подарить своей второй половинке на праздник cd/ Валентина?
Количество вариантов ответа = 5
**************************************************
<«¤--¤ Ра[=БОТ=]ничеГ ¤--¤»> Ответ 1/5:
<[A]ИВ@N-TRakcTORiSt> Себя
<«¤--¤ Ра[=БОТ=]ничеГ ¤--¤»> Введите вариант ответа 2/5:
<[A]ИВ@N-TRakcTORiSt> Ничего
<«¤--¤ Ра[=БОТ=]ничеГ ¤--¤»> Введите вариант ответа 3/5:
<[A]ИВ@N-TRakcTORiSt> игрушку
<«¤--¤ Ра[=БОТ=]ничеГ ¤--¤»> Введите вариант ответа 4/5:
<[A]ИВ@N-TRakcTORiSt> машину..стиральную)
<«¤--¤ Ра[=БОТ=]ничеГ ¤--¤»> Введите вариант ответа 5/5:
<[A]ИВ@N-TRakcTORiSt> украшение
<«¤--¤ Ра[=БОТ=]ничеГ ¤--¤»> Спасибо вам! Текущий опрос создан и уже доступен для голосования!

Автор: IceRoma 2.2.2009, 17:48

Цитата(FallenAngel @ 2.2.2009, 16:22) *
Поставь его повыше.


Спасибо только это и помогло)

Автор: PRIZrak 7.3.2009, 1:36

Цитата(Andrey_SHANDERA @ 27.7.2008, 20:17) *
А случаем нет такого на АПИ1?


Вот более старая версия на АПИ1, попроще функционал, но может кому надо.

 Poll.Bot_.v.1.1.LUA5x.zip ( 5.16 килобайт ) : 9
 

Автор: Setuper 7.3.2009, 2:22

Добавлю, что для перевода под апи1 можно воспользоваться методом быстрого перевода)

Автор: li4nost 9.3.2009, 20:37

скажите, а можно как нить сделать, чтоб при голосовании не писать !голосовать 1 (например), а просто 1,2... ?

Автор: SHMIDT 9.3.2009, 21:31

А под API1 нету??????????? Не плохо было бы еслиб кто то сделал!

Автор: Wariner 9.3.2009, 21:36

Цитата(Setuper @ 7.3.2009, 2:22) *
Добавлю, что для перевода под апи1 можно воспользоваться методом быстрого перевода)

Автор: Heil 11.3.2009, 20:31

Как исправить

Цитата
[23:12] Синтаксис ...X0.4.1.1\scripts\Poll.Bot.v.1.4a.LUA5.1_API2_RUS.lua:112: attempt to compare string with boolean


Вот..
Код
[23:29] Синтаксис ...X0.4.1.1\scripts\Poll.Bot.v.1.4a.LUA5.1_API2_RUS.lua:112: attempt to concatenate global 'bot' (a nil value)

Автор: Setuper 11.3.2009, 20:35

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

Автор: Wariner 11.3.2009, 20:37

смотри начало скрипта там должно быть bot = "имя бота"

Цитата
--------------------------------------------------------------------
-- настройки
--------------------------------------------------------------------
bot = SetMan.GetString(21) --Имя бота (По умолчанию - "Опросы", но я ставлю SetMan.GetString(21) )
botDesc = "Бот проводит опросы big_smile.gif" --Описание бота
botTag = "version 1.4 - 23.07.08" --Тэг бота
botEmail = "poll@poll.nl!" --Email бота
prefix = "+"


скорее всего удалил случайно

Автор: Heil 11.3.2009, 20:45

Понял сПс )))

Автор: SAMoWAR 12.3.2009, 9:59

Добрый день! Будьте добры, если есть такая возможность, добавьте в этот скрипт возможность просмотра кто какой ответ выбрал.
Wariner, немного не понял, по поводу "ресурсоемкости"? Что именно в этом сулчае будет использоваться? Дисковое пространство думаю вряд ли...

Автор: Wariner 12.3.2009, 15:55

при этом надо будет писать базу в текстовый файл. когда эта база разрастётся скрипт начнёт тормозить хаб. Конечно же это не относится к маленьким хабам, но всё же.

Автор: SAMoWAR 12.3.2009, 16:14

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

Автор: Cjay 5.4.2009, 12:23

сюда бы еще добавить возможность переголосовать.....
а кто как голосовал можно в .tbl файлах которые в папке poll находятся посмотреть

Автор: Wariner 5.4.2009, 12:27

если бы была возможность пере голосовать то честность вопроса ставилась бы под сомнение! а насчёт посмотреть кто как голосовал в файлах скрипта пишится только то что человек проголосовал(во всяком случае так было в старых версиях - эту не ставил) без варианта ответа!

Автор: Cjay 5.4.2009, 12:38

вырезка из pollvotes.tbl

Код
    ["Сидж"] = {
        ["1"] = true,
        ["n"] = 1,

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

Автор: Wariner 5.4.2009, 13:13

создай новый опрос с корректной формулировкой!

Автор: Cjay 10.4.2009, 6:13

короче через n-ное место =) а если вдруг кто-то ошибся в варианте? то тоже заставлять его глаза пошире разевать и внимательнее быть? big_smile.gif

Автор: Wariner 10.4.2009, 8:17

точность этого опроса не превысит наверно даже 60 процентов!

Автор: Uncle_Dif 29.8.2009, 16:37

Не удается создать опрос, в чат выдает:
[19:30:11] <PtokaX> Ошибка синтаксиса! Название опроса должно быть введено БЕЗ ПРОБЕЛОВ! Наберите: +создать <название_опроса> <Сколько_вариантов_ответа_можно_выбрать> <количество_вариантов> <сам_вопрос>
Например: +создать мой_первый_опрос 1 2 Работает опрос?

Но вручную по "+создать мой_первый_опрос 1 2 Работает опрос?" опрос создается.
тоха 0411

Автор: steppnov 22.9.2009, 17:32

как имя бота задать ? а то я чот не пойму на что надо изменить эт ???
" bot = SetMan.GetString(21) " хачу чтобы имя бота было опрос

Автор: dimetrius 22.9.2009, 17:45

Цитата(Uncle_Dif @ 29.8.2009, 16:37) *
Не удается создать опрос, в чат выдает:
[19:30:11] <PtokaX> Ошибка синтаксиса! Название опроса должно быть введено БЕЗ ПРОБЕЛОВ! Наберите: +создать <название_опроса> <Сколько_вариантов_ответа_можно_выбрать> <количество_вариантов> <сам_вопрос>
Например: +создать мой_первый_опрос 1 2 Работает опрос?

Но вручную по "+создать мой_первый_опрос 1 2 Работает опрос?" опрос создается.
тоха 0411

Пробелы заменяйте подчёркиваниями!

Автор: Wariner 23.9.2009, 8:12

Цитата(steppnov @ 22.9.2009, 18:32) *
как имя бота задать ? а то я чот не пойму на что надо изменить эт ???
" bot = SetMan.GetString(21) " хачу чтобы имя бота было опрос

надо написать
Код
bot = "опрос"

Автор: FallenAngel 18.1.2010, 17:40

Цитата(li4nost @ 9.3.2009, 20:37) *
скажите, а можно как нить сделать, чтоб при голосовании не писать !голосовать 1 (например), а просто 1,2... ?

Upd.
Можно? А то не все ответы как такого будут учтены :(

Автор: Wariner 18.1.2010, 18:05

можно, но нужно ли?!...

Автор: FallenAngel 18.1.2010, 18:41

Аха. Ибо многие в лучшем случае голосуют как "+2", а многие и просто "2".. Команду "+голосовать" они практически игнорируют..

Автор: Unterlink(X-Sky) 19.1.2010, 6:52

FallenAngel,+1

Автор: brauzer84 19.1.2010, 8:36

Я тоже поддерживаю.
Либо народ тупит конкретно, либо читать не умеют.
Что угодно пишут и !1 и +1 и ! 1 + 1 ... а в итоге жалуются что им при входе на хаб вечно это сообщение с голосованием приходит.
Хотелось бы команду +голосовать заменить на более простую.
Или что б народ на хабе читать научился. big_smile.gif big_smile.gif big_smile.gif

Автор: Fodin 20.1.2010, 8:30

Когда я адаптировал и переводил этот скрипт, сделал просто: вариант ответа вводился циферкой в привате боту. Но потом накрылись все скрипты у меня...

Автор: van21 9.1.2011, 5:03

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

Автор: Nickolya 10.1.2011, 20:15

van21, такой возможности в скрипте нет, и сделать это не очень просто, поэтому используй "as is".

Автор: van21 24.1.2011, 22:48

Все работает супер! Еще бы он статистику вел по пользователям, у меня хаб любителей игр по сети фифа, ф1 и тд вот я устраиваю опрос перед гонкой или матчем на победу. А когда в архив отправляю (закрываю) даные по польз участвовавшему в опросе пропадают. А я хочу типа самый знающий или угадывающий польз на основе всех опросов вывести! Ну типа ретинга самого угадывающего.Если мона ченить сделать подскажите плиз..
пример **************************************************
ЗАКРЫТЫЙ ОПРОС: Кто_выиграет?
**************************************************

1. 2 (28.57%) голосов БОЛТОН
2. 5 (71.43%) голосов ЧЕЛСИ

Всего голосов: 7 (100.00%)

Да и еще пытался не тока на победу но и на счет в матче. 2 варианта но оба не оч 1 готовые исходы в матче 2 сколько забьет команда в этом матче
прмер
**************************************************
Опрос: Выбери_вариант_счета!
**************************************************

1. 2 голос(ов) [------------¦ ] (40.00%) БОЛТОН забьет 1 гол
2. 0 голос(ов) [¦ ] (0.00%) БОЛТОН забьет 2 гола
3. 1 голос(ов) [------¦ ] (20.00%) БОЛТОН не забьет
4. 2 голос(ов) [------------¦ ] (40.00%) ЧЕЛСИ забьет 1 гол
5. 0 голос(ов) [¦ ] (0.00%) ЧЕЛСИ забьет 2 гол

Всего голосов: 5 (100.00%)

Автор: van21 25.1.2011, 15:20

Ну плиз хотябы чтоб сохранял в архив проголосовавших юзеров желательно в 1 табл embarrassed.gif

Автор: ruvim 25.2.2011, 10:56

почему я не могу скачать её! при закачки требует пароль и логин! почему так кто ответит??

Автор: Saymon 28.2.2011, 14:24

ruvim, менеджеры закачек выруби...

Автор: Poltava 18.4.2011, 13:44

Уже писали но все же может кто решиться реализовать!!! Хотелось бы добавить в админ меню функцию посмотреть кто как проголосовал!!!!!!
Дабы каждый раз не лезть в файлы базы ну, а если смущает то что скрипт почему то из за этого начнет тормозить то добавить в настройках
true false и все. Оч надеюсь на вашу пощь не думаю что это сверх сложно.

Автор: AfLc 30.8.2011, 12:11

Спасибо,качественный скрипт big_smile.gif

Автор: Ksan 30.8.2011, 15:16

Poltava:

Цитата
Хотелось бы добавить в админ меню функцию посмотреть кто как проголосовал!!!!!!

Нефиг подсматривать! Голосование тайное, это касается и админа! Ты бы ещё попросил сделать тебе читалку приватов...

Автор: AfLc 19.9.2011, 14:17

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

P.S. Что-то или я тупанул или скрипт сам про качался . Это видимо я закаментил строчку --ShowPollWithNoResult(curUser,data) Хотя хз из-за этого ли не отсылается теперь big_smile.gif Первый раз когда тестил его он постоянно при коннекте в личку инфу отсылал , а сейчас я заходил с четырёх разных клиентов под разными никами и в личку ничего не приходило .

Автор: striker 19.9.2011, 14:52

Цитата(AfLc @ 19.9.2011, 20:17) *
А как отключить чтобы при подключении пользователя ему в приват не отправлялись сообщения , что надо проголосовать ?

тогда несознательные граждане голосовать не будут big_smile1.gif