예제 #1
0
	def thread(self, user, args, whisper):
		if iMan.loaded('roster'):
			self.parent.sendto(user, 'Beginning Clean Up.')
			removed = 0
			roster = iMan.roster
			for username, user_dict in roster.items():
				if self.time_diff_days(user_dict.get('lastseen')) >= 14:
					removed += 1
					del roster[username]

			self.parent.sendto(user, 'Clean up complete! Removed %s entries.' % removed)
		else:
			self.parent.sendto(user, 'The roster is not loaded. I can\'t do anything')
예제 #2
0
	def thread(self, user, target):
		if not iMan.loaded('roster'):
			self.parent.sendto(user, "The roster isn't loaded. I am unable to unblock users")
			return

		unix_target = target.lower()
		if iMan.roster.has_key(unix_target):
			if not iMan.roster[unix_target].has_key('blocked'):
				self.parent.sendto(user, "%s is not blocked." % target)
				return
			else:
				del iMan.roster[unix_target].blocked
				self.parent.sendto(user, "I am now accepting input from %s." % target)
				return
		else:
			self.parent.sendto(user, "I don't know who %s is, therefore they cannot have been blocked." % target)
			return
예제 #3
0
	def thread(self, user, target):
		if not iMan.loaded('roster'):
			self.parent.sendto(user, "The roster isn't loaded. I am unable to block users")
			return

		unix_target = target.lower()
		if iMan.roster.has_key(unix_target):
			if iMan.roster[unix_target].has_key('blocked'):
				self.parent.sendto(user, "%s is already blocked." % target)
				return
			else:
				iMan.roster[unix_target].blocked = True
				self.parent.sendto(user, "I am no longer accepting input from %s." % target)
				return
		else:
			iMan.roster[unix_target].blocked = True
			self.parent.sendto(user, "I am no longer accepting input from %s. NOTE: I don't know who that is." % target)
			return
예제 #4
0
	def thread(self, user, msg):
		if iMan.loaded('roster'):
			roster = iMan.roster[utils.getname(user).lower()]
			match = self.r.match(msg)
			if msg.startswith('|') and msg.endswith('|'):
				return False
			if not match and 'afk' in roster:
				timestamp = datetime.datetime.fromtimestamp(roster.afk[1])
				self.parent.sendto(
					user, (random.choice(self.webies) + " You were gone for %s") % (
						utils.getname(user),
						utils.time_since(timestamp, '.')
					)
				)
				del roster.afk
			elif match:
				reason = match.group('reason')
				roster.afk = [reason, time.time()]
				self.parent.sendto(user, random.choice(self.byes) % utils.getname(user))
예제 #5
0
def isadmin(user):
	if False and iMan.loaded('roster'):
		return 'admin' in iMan.config[getname(user).lower()].rank
	return getname(user).lower() in iMan.config.users.admin
예제 #6
0
def ismod(user):
	if False and iMan.loaded('roster'):
		return 'mod' in iMan.config[getname(user).lower()].rank
	return getname(user).lower() in iMan.config.users.mod
예제 #7
0
	def thread(self, msg):
		user = msg.from_user
		if iMan.loaded('roster') and iMan.roster[utils.getname(user).lower()].has_key('blocked'):
			return True
예제 #8
0
	def thread(self, user, args):
		if iMan.loaded('roster') and iMan.roster[utils.getname(user).lower()].has_key('blocked'):
			return True