myDC.ru

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

 

> RegmeEmail, API2 | Регистрация через e-mail

Рейтинг 5 V
Setuper
сообщение 15.12.2009, 14:36
Сообщение #1


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1703 раза




Название скрипта: RegmeEmail
Версия API: 2
Версия скрипта: 1.0
Автор: Setuper
Описание: Простенькая регистрация через e-mail. Команда для регистрации: !regme email@email.com
После отправки команды, у пользователя есть 10 минут для того, чтобы зайти в почту, посмотреть там пароль и зайти на хаб. В противном случае авторизация не произойдёт, и спустя 10 минут аккаунт удалится с хаба.

ВНИМАНИЕ! Для работы скрипта необходимы модули: cmd и email, а также необходима библиотека сокетов: http://mydc.ru/topic43.html
Модули и библиотеку сокетов следует поместить в папку libs.

Обо всех ошибках и просьбах писать сюда.

Необходимые модули:
Прикрепленный файл  cmd.lua ( 1.62 килобайт ) Кол-во скачиваний: 285
Прикрепленный файл  email.lua ( 1.94 килобайт ) Кол-во скачиваний: 258



Непосредственно сам скрипт:
Прикрепленный файл  regme_email.lua ( 6.18 килобайт ) Кол-во скачиваний: 297


Спасибо сказали:
Go to the top of the page
+Quote Post
6 страниц V   1 2 3 > »   
Начать новую тему
Ответов
Saymon21
сообщение 15.12.2009, 15:12
Сообщение #2


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




эм... а меню нет у скрипта или я что то не так сделал? baffle.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 15.12.2009, 15:22
Сообщение #3


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1703 раза




Добавил менюшку регистрации для незарегистрированных пользователей.
Скрипт перезалил.


Так как это бета версия, поэтому функциональность урезана. Только одна функция регистрации через e-mail.
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 15:32
Сообщение #4


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




Спасибо отлично работает. Вот хорошо было бы если была функция смены пароля. still_dreaming.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 15.12.2009, 15:49
Сообщение #5


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1703 раза




В принципе для смены пароля в птохе есть стандартная команда: !passwd <новый пароль>
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 15:56
Сообщение #6


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




Попробовал сам добавить смену пароля
Код
function UserConnected(tUser)
  Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Зарегистрироваться$<%[mynick]> !regme %[line:Введите Ваш e-mail]|")
end

function UserConnected(tUser)
  Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Сменить пароль$<%[mynick]> !passwd %[line:Введите новый пароль]|")
end


Прошу сильно не ругать, что не так, как надо сделать? beat_brick.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 15.12.2009, 16:21
Сообщение #7


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1703 раза




Код
function RegConnected(tUser)
  if tNoActivate[tUser.sNick] then
    tNoActivate[tUser.sNick] = nil
  end
  Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Сменить пароль$<%[mynick]> !passwd %[line:Введите новый пароль]&#124;")
end
OpConnected = RegConnected

function UserConnected(tUser)
  Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Зарегистрироваться$<%[mynick]> !regme %[line:Введите Ваш e-mail]&#124;")
end


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 17:56
Сообщение #8


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




Setuper

Последняя просьба, покажи пожалуйста как реализовать в этом скрипте функцию "удалить акаунт"?
И ничего если команду "!regme" заменить например на "!регистрация"? big_smile.gif
Это только сам скрипт капать или cmd тоже?
Go to the top of the page
+Quote Post
Wan
сообщение 15.12.2009, 18:11
Сообщение #9


Активный участник
***

Группа: Пользователи
Сообщений: 53
Регистрация: 11.6.2009
Из: Чита
Пользователь №: 3 559
Спасибо сказали: 1 раз




парни почему то у меня скрипт не включается regme_email.lua ошибку показывает что я не так делаю
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 18:15
Сообщение #10


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




Цитата(luxemat @ 15.12.2009, 19:11) *
парни почему то у меня скрипт не включается regme_email.lua ошибку показывает что я не так делаю

полож email.lua и cmd.lua в папку libs


Спасибо сказали:
Go to the top of the page
+Quote Post
Wan
сообщение 15.12.2009, 18:19
Сообщение #11


Активный участник
***

Группа: Пользователи
Сообщений: 53
Регистрация: 11.6.2009
Из: Чита
Пользователь №: 3 559
Спасибо сказали: 1 раз




спс большое

ещё вопрос что опять не так у меня
> Не удалось отослать письмо на адрес: email@email.ru Причина: 535 5.7.8 Error: authentication failed: authentication failure
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 18:23
Сообщение #12


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




настрой мыло, пропиши свой почтовый ящик, smtp сервер
пример
local sFrom = "coolhubs@mail.ru" -- Адрес отправителя
local sServer = "smtp.mail.ru" -- Адрес сервера
local sUser = "coolhubs" -- Имя пользователя
local sPass = "*******" -- Пароль
local sHubAddress = "coolhub.sytes.net" -- Адрес вашего хаба


Спасибо сказали:
Go to the top of the page
+Quote Post
Wan
сообщение 15.12.2009, 18:31
Сообщение #13


Активный участник
***

Группа: Пользователи
Сообщений: 53
Регистрация: 11.6.2009
Из: Чита
Пользователь №: 3 559
Спасибо сказали: 1 раз




вот что я прописал надеюсь правельно


-- настройки e-mail
local sFrom = "kirser@bk.ru" -- Адрес отправителя
local sServer = "smtp.mail.ru" -- Адрес сервера
local sUser = "LuxeMat" -- Имя пользователя
local sPass = "*****" -- Пароль
local sHubAddress = "94.243.55.201:450" -- Адрес вашего хаба

и всеровно выдаёт ошибку

Не удалось отослать письмо на адрес: kirser@bk.ru Причина: 535 Incorrect authentication data
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 18:34
Сообщение #14


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




а про это http://mydc.ru/topic43.html не забыл? ты прочитай внимательно big_smile.gif
Go to the top of the page
+Quote Post
Wan
сообщение 15.12.2009, 18:37
Сообщение #15


Активный участник
***

Группа: Пользователи
Сообщений: 53
Регистрация: 11.6.2009
Из: Чита
Пользователь №: 3 559
Спасибо сказали: 1 раз




да читал всё

просто другим пользователям вот что пишет
<Chukgert> PtokaX> Введён неправильный формат e-mail адреса.

наверное я тугадум
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 18:38
Сообщение #16


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




ну библиотеку полож тоже в папку libs и будет тебе счастье big_smile.gif у меня всё работает
Go to the top of the page
+Quote Post
Wan
сообщение 15.12.2009, 18:41
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 53
Регистрация: 11.6.2009
Из: Чита
Пользователь №: 3 559
Спасибо сказали: 1 раз




beat_plaster.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 15.12.2009, 18:46
Сообщение #18


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1703 раза




luxemat:

local sFrom = "kirser@bk.ru" -- Адрес отправителя
local sServer = "smtp.bk.ru" -- Адрес сервера
local sUser = "kirser" -- Имя пользователя
local sPass = "*****" -- Пароль
local sHubAddress = "94.243.55.201:450" -- Адрес вашего хаба

Хабыч:
Для того, чтобы добавить команду, нужно в функцию OnStartup() добавить ещё одну функцию cmd.Add, вот так:

Код
function OnStartup()
  sBot = SetMan.GetString(21)
  sSubject = sSubject:gsub("%[HUBNAME%]", SetMan.GetString(0))
  email.SetValues(sFrom, sServer, sUser, sPass)
  cmd.Add("[Rr][Ee][Gg][Mm][Ee]", Regme, Protect)
  cmd.Add("[Рр][Ее][Гг][Ии][Сс][Тт][Рр][Аа][Цц][Ии][Яя]", Regme, Protect)
  if loadfile(sFile) then
    dofile(sFile)
  end
end


После этого регистрироваться можно будет как по команде !regme, так и по команде !регистрация
Собственно для этого и создавался модуль cmd.

Если не нужен верхний регистр, то можно просто добавить cmd.Add("регистрация", Regme, Protect), тогда регистрация будет срабатывать по команде !регистрация, но не будет срабатывать, например, по команде !РЕГИСРАЦИЯ или !рЕгИсТрАцИя
Короче говоря можно добавлять команды как регулярные выражения.


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.12.2009, 20:11
Сообщение #19


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




Во голова, выражаю огромное спасибо Setuper. big_smile.gif
А можете показать пример реализации функции удалить акаунт?

Go to the top of the page
+Quote Post
Setuper
сообщение 15.12.2009, 23:23
Сообщение #20


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1703 раза




Сделал.

Пофиксил регулярное выражение для определения формата e-mail адреса (раньше не пропускало e-mail со знаком подчёркивания).
Для фикса качаем обновлённый файл email.lua


Спасибо сказали:
Go to the top of the page
+Quote Post

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts От: RegmeEmail
От темы с ID: 2794
0 Drakula 933 21.11.2014, 14:33 Посл. сообщение: Drakula
No New Posts От: RegmeEmail
От темы с ID: 2794
1 Артём 2 475 29.3.2010, 1:59 Посл. сообщение: (Steep)_(Boss)

 



RSS Сейчас: 23.1.2018, 22:46