mirror of
https://github.com/SpiceBot/SpiceBot.git
synced 2026-11-11 14:10:58 -05:00
commit
e13dc70757
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
15
sopel_modules/SpiceBot_Core_Commands/Users.py
Normal file
15
sopel_modules/SpiceBot_Core_Commands/Users.py
Normal 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
|
||||
@ -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 *
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user