Merge pull request #90 from deathbybandaid/development

Development
This commit is contained in:
Deathbybandaid 2019-07-01 12:10:27 -04:00 committed by GitHub
commit e13dc70757
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 40 additions and 18 deletions

View File

@ -612,6 +612,9 @@ class BotDatabase():
def alias_nick(self, nick, alias):
return self.db.alias_nick(nick, alias)
def unalias_nick(self, alias):
return self.db.unalias_nick(alias)
def check_nick_id(self, nick):
try:
self.db.get_nick_id(nick, create=False)

View File

@ -240,24 +240,27 @@ class BotUsers():
self.mark_user_offline(nick_id)
def nick(self, bot, trigger):
oldnick = trigger.nick
old_nick_id = self.whois_ident(oldnick)
newnick = Identifier(trigger)
if trigger.nick == bot.nick or newnick == bot.nick:
if oldnick == bot.nick or newnick == bot.nick:
return
# alias the nick
if not botdb.check_nick_id(newnick):
botdb.alias_nick(trigger.nick, newnick)
# Identify
nick_id = self.whois_ident(newnick)
# Verify nick is in the all list
self.add_to_all(newnick, nick_id)
self.add_to_all(oldnick, old_nick_id)
# Verify nick is in the all list
self.add_to_current(newnick, nick_id)
self.add_to_current(oldnick, old_nick_id)
# set current nick
self.mark_current_nick(newnick, nick_id)
self.mark_current_nick(newnick, old_nick_id)
# add joined channel to nick list
self.add_channel(trigger.sender, nick_id)
self.add_channel(trigger.sender, old_nick_id)
# mark user as online
self.mark_user_online(nick_id)
self.mark_user_online(old_nick_id)
# alias the nick
try:
botdb.alias_nick(oldnick, newnick)
except Exception as e:
old_nick_id = e
return
def mode(self, bot, trigger):
return

View File

@ -0,0 +1,15 @@
# coding=utf8
from __future__ import unicode_literals, absolute_import, division, print_function
"""
This is the SpiceBot Users system.
"""
import sopel
import sopel_modules.SpiceBot as SpiceBot
@SpiceBot.prerun('nickname')
@sopel.module.nickname_commands('users', 'user')
def nickname_comand_users(bot, trigger, botcom):
bot.say("WIP")
return

View File

@ -9,6 +9,7 @@ This module contains references only for other modules to utilize.
from .CommandsQuery import *
from .Commands import *
from .Channels import *
from .Users import *
from .Database import *
from .Uptime import *
from .Logs import *

View File

@ -142,7 +142,7 @@ def bot_channelscan(bot, trigger):
@sopel.module.event(SpiceBot.events.RPL_NAMREPLY)
@sopel.module.rule('(.*)')
def handle_names(bot, trigger):
def handle_names_channels(bot, trigger):
SpiceBot.channels.rpl_names(bot, trigger)
@ -150,5 +150,5 @@ def handle_names(bot, trigger):
@sopel.module.rule('.*')
@sopel.module.priority('high')
@sopel.module.unblockable
def recv_who(bot, trigger):
def recv_who_channels(bot, trigger):
SpiceBot.channels.rpl_who(bot, trigger)

View File

@ -52,13 +52,13 @@ def bot_channelscan_users(bot, trigger):
@sopel.module.rule('.*')
def bot_users_chat(bot, trigger):
def bot_users_chat_users(bot, trigger):
SpiceBot.users.chat(bot, trigger)
@sopel.module.event(SpiceBot.events.RPL_NAMREPLY)
@sopel.module.rule('(.*)')
def handle_names(bot, trigger):
def handle_names_users(bot, trigger):
SpiceBot.users.rpl_names(bot, trigger)
@ -66,17 +66,17 @@ def handle_names(bot, trigger):
@sopel.module.rule('.*')
@sopel.module.priority('high')
@sopel.module.unblockable
def recv_who(bot, trigger):
def recv_who_users(bot, trigger):
SpiceBot.users.rpl_who(bot, trigger)
@sopel.module.event('ACCOUNT')
@sopel.module.rule('.*')
def account_notify(bot, trigger):
def account_notify_users(bot, trigger):
SpiceBot.users.account(bot, trigger)
@sopel.module.event('AWAY')
@sopel.module.rule('.*')
def track_notify(bot, trigger):
def track_notify_users(bot, trigger):
SpiceBot.users.track_notify(bot, trigger)