myDC.ru

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

 

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

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


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  « < 4 5 6  
Начать новую тему
Ответов
-=Zion=-
сообщение 7.3.2013, 15:58
Сообщение #102


Начинающий
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.6.2009
Из: Красноярск
Пользователь №: 3 702
Спасибо сказали: 0 раз




Цитата(Alexey @ 7.3.2013, 19:54) *
Добавь строку
Код
  RegMan.Save()

перед строкой 149 и после строки 131.

В какое именно место?
Код
128.    Зарегистрировался новый юзер
129.    вот детали регистрации:
130.    ======================
131.    Ник:     %s
132.    Шара:     %s
133.    IP:     %s
134.    Режим работы: %s
135.    Открыто слотов: %s
136.    
137.    ]]):format(sBot, tUser.sNick, GetNormalShare(Core.GetUserValue(tUser, 16) or 0), tUser.sIP, Core.GetUserValue(tUser, 10) and "Актив" or "Пассив", Core.GetUserValue(tUser, 21) or 0))
138.    end
139.    return res, err
140.    end
141.    
142.    function Unreg(tUser)
143.    RegMan.DelReg(tUser.sNick)
144.    for k, v in pairs(tMailList) do
145.    if v == tUser.sNick then
146.    tMailList[k] = nil
147.    return true
148.    end
149.    end
150.    return true
151.    end
Go to the top of the page
+Quote Post
Alexey
сообщение 7.3.2013, 16:26
Сообщение #103


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




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

Указанную строку надо добавить после первого вызова RegMan.DelReg и перед TmrMan.RemoveTimer.
Go to the top of the page
+Quote Post
-=Zion=-
сообщение 7.3.2013, 16:49
Сообщение #104


Начинающий
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.6.2009
Из: Красноярск
Пользователь №: 3 702
Спасибо сказали: 0 раз




Цитата(Alexey @ 7.3.2013, 21:26) *
Номера строк я давал ориентируясь на версию из стартового поста темы. Пользователи модифицированных версий должны самостоятельно сделать корректировки с учётом внесённых ими модификаций.

Спасибо, вроде разобрался, вот так должно получиться?:
Код
function Unreg(tUser)
  RegMan.DelReg(tUser.sNick)
  RegMan.Save()
  for k, v in pairs(tMailList) do
    if v == tUser.sNick then
      tMailList[k] = nil
      return true
    end
  end
  return true
end

function Timer(id)
  local sNick = tTimers[id]
  if tNoActivate[sNick] then
    RegMan.DelReg(sNick)
    tMailList[tNickList[sNick]] = nil
    tNickList[sNick] = nil
    Save(tMailList, "tMailList", sFile)
  end
  RegMan.Save()
  TmrMan.RemoveTimer(id)
end

Но всё равно не сохраняет.
Т.е. в самой птоке зареганый юзер есть, а в файле его нет.
Go to the top of the page
+Quote Post
Alexey
сообщение 7.3.2013, 17:41
Сообщение #105


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




Видимо, ты ждал меньше, чем iDelay минут.
Go to the top of the page
+Quote Post
-=Zion=-
сообщение 7.3.2013, 18:52
Сообщение #106


Начинающий
*

Группа: Пользователи
Сообщений: 22
Регистрация: 25.6.2009
Из: Красноярск
Пользователь №: 3 702
Спасибо сказали: 0 раз




Цитата(Alexey @ 7.3.2013, 22:41) *
Видимо, ты ждал меньше, чем iDelay минут.

Ну тоесть он только через 10 минут запишется в фаил?
Попробую, позже отпишусь, но что-то мне подсказывает что это тут не причем :-)

Попробывал, да, действительно записалась через 10 минут. Спасибо еще раз.
А не подскажите в каком месте нужно изменить этот самый iDelay чтобы поменьше время выставить (например одну минуту), но чтобы время, юзеру, на перезаход на хаб (для активации) так и осталось 10 минут.
Случаем не здесь?:
Код
tTimers[TmrMan.AddTimer(iDelay * 60000, "Timer")] = tUser.sNick

где 60000 и есть эти самые 10 минут.
Go to the top of the page
+Quote Post
Alexey
сообщение 7.3.2013, 19:42
Сообщение #107


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




Зачем это надо? Не вижу смысла сохранять неактивированный ник.
Go to the top of the page
+Quote Post
Iskandark
сообщение 13.4.2014, 21:56
Сообщение #108


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

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Столкнулся с проблемой в этом скрипте: в момент отправки письма регистрируемому пользователю чат подвисает на 2-5 секунд до момента, пока не будет отправлено сообщение регистрируемому пользователю об отправке письма.

Такая же проблема с подвисанием чата на секунд 5 возникает при подключении к любому сайту по http через скрипты.
Использование http.TIMEOUT = 1 - не вариант, так как подвисать всё равно будет хоть и 1 секунду...

Как понимаю, библиотека luasocket занимает открытый socket хаба... Можно ли использовать собственное соединение, отдельное от соединения хаба?

Стоит Ptokax 0.5.0.1 под Debian. Решаема ли эта проблема? Знает кто и сталкивался?
Go to the top of the page
+Quote Post
Iskandark
сообщение 17.4.2014, 0:10
Сообщение #109


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

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Не могу нигде найти, как всё-таки сделать отправку письма о регистрации в неблокирующем сокет режиме (non-blocking).

Кто-нибудь знает, как можно реализовать это?

Есть подозрение, что надо внести какую-то правку в module("socket.tp"), вот в этот блок, с использование socket.select
Код
function connect(host, port, timeout, create)
    local c, e = (create or socket.tcp)()
    if not c then return nil, e end
    c:settimeout(timeout or TIMEOUT)
    local r, e = c:connect(host, port)
    if not r then
        c:close()
        return nil, e
    end
    return base.setmetatable({c = c}, metat)
end


Вот только какую...
Go to the top of the page
+Quote Post
Saymon21
сообщение 18.4.2014, 23:44
Сообщение #110


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

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




Бегло http://stackoverflow.com/questions/1288936...chronous-events - реквестую результаты.
Go to the top of the page
+Quote Post
Iskandark
сообщение 19.4.2014, 16:55
Сообщение #111


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

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Цитата(Saymon21 @ 19.4.2014, 0:44) *
Бегло http://stackoverflow.com/questions/1288936...chronous-events - реквестую результаты.


Да, там написано использовать socket.select и sock:settimeout(0):
"Non-blocking: call socket.select with a timeout argument of 0, and use sock:settimeout(0) on the socket you're reading from."
Пробую в разных вариациях, вылезают разного рода ошибки и непонятно как всё-таки сделать отправку писем в неблокирующем режиме :(
Пока что не работает... Может кто знает, как сделать рабочий вариант с неблокирующим сокетом?

Ещё один из вариантов, чтобы не лезть в модули Luasocket это использовать параметр [create = function] в функции smtp.send():
Код
create: An optional function to be used instead of socket.tcp when the communications socket is created.

Но непонятно опять же, как это сокет неблокирующем режиме сделать.
Go to the top of the page
+Quote Post
dimetro
сообщение 9.2.2015, 21:22
Сообщение #112


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

Группа: Пользователи
Сообщений: 68
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 18 раз




[20:19:50] <PtokaX> Не удалось отослать письмо на адрес: ххххх@yandex.ru Причина: 530 5.7.7 Email sending without SSL/TLS encryption is not allowed. Please see: http://help.yandex.ru/mail/mail-clients/ssl.xml
confuse.gif
Go to the top of the page
+Quote Post
WINS
сообщение 10.2.2015, 8:47
Сообщение #113


Участник
**

Группа: Пользователи
Сообщений: 41
Регистрация: 20.1.2010
Из: KHV
Пользователь №: 5 772
Спасибо сказали: 4 раза




ищи мылосервисы, которые могут работать без шифрования
Go to the top of the page
+Quote Post
Iskandark
сообщение 11.2.2015, 23:17
Сообщение #114


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

Группа: Пользователи
Сообщений: 61
Регистрация: 24.10.2008
Из: Moscow
Пользователь №: 875
Спасибо сказали: 0 раз




Цитата(WINS @ 10.2.2015, 8:47) *
ищи мылосервисы, которые могут работать без шифрования


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

Хорошо бы, если lua могла работать с yandex и google. Но я пока не нашел решения рабочего.
Go to the top of the page
+Quote Post
dimetro
сообщение 11.2.2015, 23:45
Сообщение #115


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

Группа: Пользователи
Сообщений: 68
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 18 раз




Цитата(Iskandark @ 11.2.2015, 22:17) *
нормальных и известных почтовых серверов, работающих без шифрования нет... можно с трудом найти...

Хорошо бы, если lua могла работать с yandex и google. Но я пока не нашел решения рабочего.

на хабе Озерки как ни странно работает , почта ихняя на google. видать что то знают boss.gif
Go to the top of the page
+Quote Post
Alexey
сообщение 15.2.2015, 6:37
Сообщение #116


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




Модуль отправки писем с шифрованием SSL/TLS.
Для работы требуется библиотека luasec.
Прикрепленный файл  email.lua ( 2.59 килобайт ) Кол-во скачиваний: 12


Спасибо сказали:
Go to the top of the page
+Quote Post
Alexey
сообщение 15.2.2015, 21:20
Сообщение #117


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




Из рубрики «Нам пишут...»:
Цитата(Артём @ 15.2.2015, 12:52)
Привет, куда этот модуль нужно закидывать или просто как скрипт запускать?

Закидывать вместо одноимённого модуля из первого поста.

Цитата(Артём @ 15.2.2015, 12:52)
Он будет работать с дисктриктовым FlexyReg? А то и там не отсылаются письма на мыло при регистрации.

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

PS: Такие вопросы лучше задавать в темах скриптов, а не через личные сообщения, — ведь ответ может быть интересен и другим посетителям форума.
Go to the top of the page
+Quote Post
Error
сообщение 15.11.2015, 7:47
Сообщение #118


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 26.9.2012
Пользователь №: 10 875
Спасибо сказали: 0 раз




С данным плагином Ptokax на windows7 работает без ошибок, при переносе на windows server 2008 выдает ошибку:
Синтаксис error loading module 'ssl.core' from file 'D:\PtokaX_Server\libs\ssl.dll':
system error 14001
как исправить?
Go to the top of the page
+Quote Post
Saymon21
сообщение 15.11.2015, 11:55
Сообщение #119


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

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




Один из вариантов - тут качай vcredist под свою архитектуру и ставь.


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

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

Collapse

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

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

 



RSS Сейчас: 18.1.2018, 10:42