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

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

MyDC.ru _ Ваши проекты _ Sbot

Автор: Setuper 13.8.2008, 23:45

Название скрипта: SBot
Автор: Setuper
Тип: Мульти-скрипт (скрипт "все в одном")
Версия: 1.0.0.0
Тип базы: MySQL или Файлы (на выбор)
Разработки: совмещенный онлайн чат на php + Ajax + JavaScript (отдельный от бота плагин)
Особенности:
- объектно-ориентированный код;
- высокий уровень оптимизации;
- модульная реализация (плагины - возможно отключить то, что не нужно);
- "кроссхабность" - возможно, переписав один или пару файлов, перевести скрипт под работу с другим хабом;
- "кроссплатформенность" - возможность работать как из под windows так и из под *nix систем;
- "кроссбазность" - возможность подстроить под работу с любой базой данных (не обязательно с mysql)

Возможности:



Текущая тестовая версия: см. в подписи

Планируется выкладывание мульти-скрипта в свободное плавание, но дата выкладывания еще неизвестна.

Пока существует как проект.

Автор: Sephiroth_Lukaw 13.8.2008, 23:54

Ждёмс с нетерпением....
Под любую API будет?

Автор: Setuper 13.8.2008, 23:58

написан под любой api, но из-за отсутствия нормальной dll библиотеки sqlite для нового api использовать можно пока только для старого api.

Автор: Wariner 13.8.2008, 23:59

Да.... Интересно на это чудо будет посмотреть...

Автор: Nickolya 14.8.2008, 0:29

Угу, интересно! big_smile.gif
Может даже отпадет надобность в других мегаботах)) Правда интересно не попользоваться, а помотреть как работают некоторые штуки, к примеру эти скрытый и специальный баны, очень хотелось бы чтобы автор выложил сие чудо в открытом виде, так будет намного ловчее. Да и не пойму зачем скрывать код, я это делаю только когда народу не надо видеть некоторые функции, и то, чисто по этическим причинам, или же если скрипт привязан к хабу, сделан лишь для 1 человека big_smile.gif Надеюсь на любезность автора, или расскажи хотя бы как работают наиболее интересные моменты, плиииз! А функционал реально поражает воображение: Оо ;)

Автор: mariner 14.8.2008, 0:59

Осталось добавить офлайн месаги big_smile.gif И рсс обработчик big_smile.gif

Цитата
спец. бан (на подобие бана по CID)


Поподробней (PS если по сиду - то туфта от ламок) Вот если б кто с фаером совместил тако скрипт и банить по маку... мммм.... мечта %-)

Автор: Setuper 14.8.2008, 2:04

"[*]посылка писем пользователям в оффлайне;"

- уже есть эта функция.

А pcc и не будет (хотя... чем черт не шутит).

Автор: DEL 14.8.2008, 4:13

А логи он вести будет?

перечитал, вижу что будет big_smile.gif

Автор: dimetrius 14.8.2008, 9:21

Цитата
накопительная система наказаний;


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

Автор: Wariner 30.8.2008, 18:34

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

Автор: Setuper 30.8.2008, 19:35

в случае 100% рекламы автоматический бан, или кик, или ещё какое то действие (в зависимости от настроек),
в остальных случаях (если похоже на рекламу, но с точностью до 100% нельзя определить этого) определённому профилю или группе профилей (ОПераторам, Модераторам, Админам и тд.) отсылается проверяемая фраза и Паттерн фразы, из-за которого эта фраза попала в параноидальную проверку, а указанные люди, которым пришёл отчёт о параноидальной проверке, уже решают, что с этим челом делать (дропнуть, кикнуть, гагнуть, мутнуть или забанить).

Проект на некоторое время заморожен.

Автор: Wariner 11.9.2008, 16:04

2Setuper а не расскажешь как работает твоя регистрация по ip? Т.е. когда юзер заходит на хаб в таблицу заносится его ник и ip. А потом происходит регистрация в птоку или в ней список юзеров пустой(кропе админов и ОПов)? есть какие ещё фишки?

ЗЫ расскажи если не секретно))))

Автор: Setuper 11.9.2008, 17:02

Суть регистрации:

Существует два вида регистрации: обычная регистрация по нику и автоматическая регистрация по ip.
Так как существуют сети с динамическими ip адресами, то тип используемой регистрации для пользователя определяется по принадлежности его ip адреса определенному диапазону. Если не принадлежит диапазону с "динамикой", то будет зарегистрирован автоматически по ip адресу, если же ip адрес входит в диапазон динамических ip адресов, то регистрироваться нужно будет как обычно вручную))))

Итак, пользователь заходит на хаб.

По ip адресу пользователя проверяем принадлежит ли его ip адрес диапазону ip адресов с автоматической регистрацией. Если принадлежит, то этот пользователь является претендентом на автоматическую регистрацию, но пока не регистрируем его. Сначало пользователь должен пройти ряд проверок.

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

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

После проверки диапазонов ip с раздельной регистрацией можно уже проверять на факт того, что пользователь вошел под чужим ником (под ником, который также был автоматически зарегистрирован).

Далее проверяется мульти-вход. Для каждого пользователя по умолчанию стоит так называемый мульти-показатель, который показывает сколько одновременных входов на хаб с одного и того же ip адреса может сделать пользователь (по умолчанию я ставлю один вход на один ip).

После всех этих проверок пользователь автоматически регистрируется.




Что касается отправки ключиков и ip адресов всех пользователей: если в настройках профиля ptokax установлен флаг "Есть ключик", то ключик устанавливается профилю вне зависимости от настроек скрипта.
Если таковой флаг отсутствует, то у нас есть огромные возможности управления этим делом. Профили, которым разрешен выбор в соответствие с настройками скрипта могут как установить себе ключик, так и снять его когда он надоест, то есть пользователь уже сам решает сидеть ему на хабе с ключиком (вверху списка) или же с теми же самыми правами маскироваться под простого пользователя. То же самое касается и отправки ip адресов всех пользователей.

Вот вкратце рассказал о регистрации и о ключах big_smile.gif

Автор: Wariner 12.9.2008, 7:31

- А предусмотрена у тебя возможность смены ника? Т.е как я себе представляю чтобы сменить ник есть два варианта:

  1. Юзер нажимает на меню и его данные удаляются из птоки и БД и он перезаходит сменив ник и регистрация проходит заново
  2. Юзер нажимает на меню и вводит новый ник, при этом в птоке удаляется его регистрация и меняется на новую, а в БД старый ник записывается как Lastnick а на его место вписываается новый(единственная проблема если юзер при перезаходе забудет сменить ник, то его прото не пустит)

есть ли у тебя в скрипте что то подобное? или это бредовая мысль?
- А пароль у тебя забирается из какого места: мейна или привата? Можно ли чтоб происходила авторегистрация и потом выскакивало окошко для ввода пароля как при обычной регистрации?
- И ещё если юзер не имеет ключика как ему дать его по средством скрипта? с помощью вот этого: "User.bOperator"?

Автор: Setuper 12.9.2008, 9:38

Смена ника происходит автоматически. То есть пользователю не надо заботится об удалении старой регистрации. При заходе на хаб происходит перерегистрация в любом случае, с каким бы ником пользователь не вошел. Перерегистрация при входе сделана для обхода ввода пароля. Старый ник пользователя с данным ip адресом хранится в базе данных, когда пользователь входит на хаб его старая регистрация удаляется и после этого ввод пароля не требуется (ведь на этом этапе пользователь становится незарегистрированным). Далее пользователь проходит ряд проверок, которые я описал выше, и только после этого заново автоматически регистрируется. Так что ни один из твоих вариантов не подходит))))))
Ответ на твой вопрос о пароле также прост. Пароль нужен только для корректной регистрации (корректной записи в таблицы ptokax). Из принципа регистрации видно, что пароль может быть абсолютно произвольным, так как он просто напросто не используется нигде (хотя вру, кое где он используется, но это уже тонкости регистрации). В настройках скрипта можно установить постоянный пароль для всех пользователей или случайный пароль, который будет случайным образом генерироваться перед каждым входом пользователя.
Ключик дается пользователю посредствам отправки всем пользователям информации о том, что пользователь имеет ключик, а именно командой:
"$OpList Nick$$". Также возможна отсылка всем пользователям информации сразу о нескольких пользователях имеющих ключики. Делается это так: "$OpList Nick1$$Nick2$$Nick3$$Nick4$$Nick5$$"
А то, что ты говоришь не верно, так как значение полей таблицы пользователя вручную изменить нельзя (нету доступа к стеку lua из скрипта).

Автор: Wariner 12.9.2008, 14:52

Цитата(Setuper @ 12.9.2008, 10:38) *
Ключик дается пользователю посредствам отправки всем пользователям информации о том, что пользователь имеет ключик, а именно командой:
"$OpList Nick$$". Также возможна отсылка всем пользователям информации сразу о нескольких пользователях имеющих ключики. Делается это так: "$OpList Nick1$$Nick2$$Nick3$$Nick4$$Nick5$$"
А то, что ты говоришь не верно, так как значение полей таблицы пользователя вручную изменить нельзя (нету доступа к стеку lua из скрипта).

а можно вот тут по подробней? где эта команда должна быть написана? Если не сложно приведи кусок кода.

Автор: Setuper 12.9.2008, 16:15

поробуй вот этот код для апи2:

Код
function UserConnected(tUser)
    local sStr="$OpList "
    for i,v in pairs(Core.GetOnlineUsers()) do
        sStr=sStr..v.sNick.."$$"
    end
    Core.SendToUser(tUser,sStr..tUser.sNick.."$$")
    Core.SendToAll("$OpList "..tUser.sNick.."$$")
end
RegConnected=UserConnected
OpConnected=UserConnected

Автор: Wariner 12.9.2008, 17:52

Всё равно не понятно(((( как используя этот код из обычного юзера превратится в юзера с ключиком?
PS: в аське нашёл одного бота, называется SBot, не твоё творение? still_dreaming.gif

Автор: Setuper 12.9.2008, 19:40

Что тут непонятного? Создай новый скрипт, например "test.lua", вставь в него этот код, перезагрузи скрипт и зайди на хаб. Все пользователи хаба будут с ключиками.
Команда отсылается пользователю: Core.SendToUser(tUser, "$OpList Вася$$") - после такой отсылки команды для данного пользователя ник Вася будет отображаться с ключиком. Не знаю как ещё более подробно объяснить, по-моему итак должно быть понятно.
В аське это не моё творение)))

Автор: Wariner 12.9.2008, 21:12

К сожалению у меня данный скрипт не работает!!!

Автор: Setuper 12.9.2008, 21:26

не может быть чтобы не работал код. Я там кое что дописал может поможет: RegConnected=UserConnected OpConnected=UserConnected
скрипт под апи2
обязательно после запуска скрипта надо перезайти на хаб!

Автор: Wariner 12.9.2008, 21:51

Да именно отсутствие RegConnected=UserConnected OpConnected=UserConnected было ошибкой))) Сам не подумал((( А какой командой это снять? Т.е. если сделать в функции ChatArrival две команды одна из которых будет та которую ты написал а вторая снимающая ключик

Автор: Setuper 12.9.2008, 22:10

Код
local sNick="Вася"
local tUser=Core.GetUser(sNick, true)
SendToAll("$Quit "..sNick)
SendToAll(tUser.sMyInfoString)

Изложенные тут методы являются "обманом" для сервера)))

Автор: kosayk_15 18.10.2008, 13:40

а можно не большой вопросик а где этот скрипт можно скачать
и если он ваще или это тока проект
и под какой айпи
зарание спасибо!!!

Автор: Wariner 18.10.2008, 13:55

Читай внимательнее первые посты!

Цитата
Текущая тестовая версия: 6.0RC3
Планируется выкладывание мульти-скрипта на всеобщее обозрение с закрытым исходным кодом, но дата выкладывания еще неизвестна. Идет постоянная оптимизация, обобщение, улучшение и упрощение в использовании. Работы еще много, но приближение к финалу уже чувствуется))).

Цитата
написан под любой api, но из-за отсутствия нормальной dll библиотеки sqlite для нового api использовать можно пока только для старого api.

Автор: igroman89 9.2.2009, 2:44

я так понял что вообще несит его ждать да??? мечты мечты мечты)))

Автор: Wariner 16.3.2009, 21:43

Мне нравится эта подпись:

Цитата
PtokaX 0.3.6.0 + Lua 5.1.3 + SQLite 3.2.7 + SBot 6.0RC5 - past
PtokaX 0.4.1.1 + Lua 5.1.3 + MySQL 5 + SBot 0.1.1.4 - testing now (release candidate)
PtokaX 0.4.1.1 + Lua 5.1.3 + MySQL 5 + SBot 1.0.0.0 - release in the future (with open source)!

значит ли это что скоро ждём бота?

Автор: Setuper 16.3.2009, 21:46

Как только, так сразу

Автор: OtshelnikFm 16.3.2009, 23:41

Ждём с нетерпением!

Автор: Lesh™ 24.3.2009, 9:40

А как этого бота можно получить?

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

Выложат

Цитата(Setuper @ 16.3.2009, 21:46) *
Как только, так сразу

Автор: Артём 31.5.2009, 2:08

dribble.gif хачу этого бота увидеть в работе...ну когда уже он будет crying.gif

Автор: mariner 31.5.2009, 2:15

Цитата(Артём @ 31.5.2009, 3:08) *
dribble.gif хачу увидеть этотого бота увидеть в работе...ну когда уже он будет crying.gif


Не ной. все хотят. Крепись big_smile.gif

Автор: MaXZombie 30.8.2009, 2:20

Цитата(Lesh™ @ 24.3.2009, 10:40) *
А как этого бота можно получить?


А это что?

Цитата
Пока существует как проект.

Автор: vicious 21.11.2009, 17:51

Насколько % готов бот?

Автор: Setuper 21.11.2009, 19:01

Проект закрыт

Автор: Trans 21.11.2009, 21:33

А причина?

Автор: Wariner 21.11.2009, 21:34

Причина думаю проста - разработка своего хаба))))

Автор: Nickolya 21.11.2009, 22:18

Нам бы код, так сказать "на растерзание", чисто поучиться, можно, пожалуйста, в каком бы виде он не был?!