• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python ircmsgs.isCtcp函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中supybot.ircmsgs.isCtcp函数的典型用法代码示例。如果您正苦于以下问题:Python isCtcp函数的具体用法?Python isCtcp怎么用?Python isCtcp使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了isCtcp函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: doPrivmsg

 def doPrivmsg(self, irc, msg):
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     (channel, text) = msg.args
     if irc.isChannel(channel):
         irc = self._getRealIrc(irc)
         if channel not in self.registryValue('channels'):
             return
         ignores = self.registryValue('ignores', channel)
         for ignore in ignores:
             if ircutils.hostmaskPatternEqual(ignore, msg.prefix):
                 self.log.debug('Refusing to relay %s, ignored by %s.',
                                msg.prefix, ignore)
                 return
         # Let's try to detect other relay bots.
         if self._checkRelayMsg(msg):
             if self.registryValue('punishOtherRelayBots', channel):
                 self._punishRelayers(msg)
             # Either way, we don't relay the message.
             else:
                 self.log.warning('Refusing to relay message from %s, '
                                  'it appears to be a relay message.',
                                  msg.prefix)
         else:
             network = self._getIrcName(irc)
             s = self._formatPrivmsg(msg.nick, network, msg)
             m = self._msgmaker(channel, s)
             self._sendToOthers(irc, m)
开发者ID:GlitterCakes,项目名称:PoohBot,代码行数:28,代码来源:plugin.py


示例2: doPrivmsg

 def doPrivmsg(self, irc, msg):
     channel = msg.args[0]
     self.timeout(irc, channel)
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     #channel = msg.args[0]
     if irc.isChannel(channel):
         if ircmsgs.isAction(msg):
             text = ircmsgs.unAction(msg)
         else:
             text = msg.args[1]
         if 'ping' in text.lower():
             text = text.replace('!','')\
                     .replace(',','')\
                     .replace(':','')\
                     .replace('?','')
             if len(text.split()) == 2:        
                 if text.lower().startswith('ping'):
                     self.ping(irc, msg, channel, text, inverse=True)
                 elif text.lower().endswith('ping'):
                     self.ping(irc, msg, channel, text)
         elif 'pong' in text.lower():
             text = text.replace(',','')\
                     .replace(':','')\
                     .replace('!','')\
                     .replace('?','')
             if len(text.split()) == 2:        
                 if text.lower().startswith('pong'):
                     self.pong(irc, msg, channel, text, inverse=True)
                 elif text.lower().endswith('pong'):
                     self.pong(irc, msg, channel, text)
开发者ID:Mika64,项目名称:Pingus,代码行数:31,代码来源:plugin.py


示例3: doPrivmsg

 def doPrivmsg(self, msg):
     isAction = ircmsgs.isAction(msg)
     if ircmsgs.isCtcp(msg) and not isAction:
         return
     self.doPayload(*msg.args)
     if isAction:
         self.actions += 1
开发者ID:Elwell,项目名称:supybot,代码行数:7,代码来源:plugin.py


示例4: doPrivmsg

 def doPrivmsg(self, irc, msg):
     channel = msg.args[0].lower()
     text = msg.args[1].strip()
     # ignore ctcp, action and only messages in a channel.
     # if txt.startswith(conf.supybot.reply.whenAddressedBy.chars()):
     if ircmsgs.isCtcp(msg) or ircmsgs.isAction(msg) or not irc.isChannel(channel):
         return
     # on to the text. check if we're ignoring the text matching regex here.
     if re.match(self.registryValue('ignoreRegex'), text):
         return
     # should we strip urls from text?
     if self.registryValue('stripUrls'):
         text = re.sub(r'(http[^\s]*)', '', text)
     # determine probability if addressed or not.
     if callbacks.addressed(irc.nick, msg):
         text = re.sub('(' + irc.nick + '*?\W+)', '', text, re.IGNORECASE)
         probability = self.registryValue('probabilityWhenAddressed', channel)
     else:
         probability = self.registryValue('probability', channel)
     # should we strip nicks from the text?
     if self.registryValue('stripNicks'):
         removenicks = '|'.join(item + '\W.*?\s' for item in irc.stats.channels[channel].users)
         text = re.sub(r'' + removenicks + '', '', text)
     # finally, pass to our learn function.
     self._learn(irc, channel, text, probability)
开发者ID:carriercomm,项目名称:MegaHAL,代码行数:25,代码来源:plugin.py


示例5: doPrivmsg

    def doPrivmsg(self, irc, msg):
        """check regular IRC chat for votes"""
        # check for a regular channel message
        if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
            return
        channel = msg.args[0]
        if not irc.isChannel(channel):
            return
        
        # is there an active vote in the channel?
        if not (channel in self._voter_decision):
            return
        
        # get the text of the vote
        if ircmsgs.isAction(msg):
            text = ircmsgs.unAction(msg)
        else:
            text = msg.args[1]
        
        # is it a vote?
        if not text in VALID_VOTE:
            return
        
        # get the voter
        voter = msg.prefix

        # update the cache
        self._voter_decision[channel][voter] = text
开发者ID:arikb,项目名称:Meeting,代码行数:28,代码来源:plugin.py


示例6: tokenize

 def tokenize(self, m):
     if ircmsgs.isAction(m):
         return ircmsgs.unAction(m).split()
     elif ircmsgs.isCtcp(m):
         return []
     else:
         return m.args[1].split()
开发者ID:furtherandsun,项目名称:Supybot-Markov,代码行数:7,代码来源:plugin.py


示例7: doPrivmsg

 def doPrivmsg(self, irc, msg):
     assert self is irc.callbacks[0], \
            'Owner isn\'t first callback: %r' % irc.callbacks
     if ircmsgs.isCtcp(msg):
         return
     s = callbacks.addressed(irc.nick, msg)
     if s:
         ignored = ircdb.checkIgnored(msg.prefix)
         if ignored:
             self.log.info('Ignoring command from %s.', msg.prefix)
             return
         maximum = conf.supybot.abuse.flood.command.maximum()
         self.commands.enqueue(msg)
         if conf.supybot.abuse.flood.command() \
            and self.commands.len(msg) > maximum \
            and not ircdb.checkCapability(msg.prefix, 'trusted'):
             punishment = conf.supybot.abuse.flood.command.punishment()
             banmask = ircutils.banmask(msg.prefix)
             self.log.info('Ignoring %s for %s seconds due to an apparent '
                           'command flood.', banmask, punishment)
             ircdb.ignores.add(banmask, time.time() + punishment)
             irc.reply('You\'ve given me %s commands within the last '
                       'minute; I\'m now ignoring you for %s.' %
                       (maximum,
                        utils.timeElapsed(punishment, seconds=False)))
             return
         try:
             tokens = callbacks.tokenize(s, channel=msg.args[0])
             self.Proxy(irc, msg, tokens)
         except SyntaxError, e:
             irc.queueMsg(callbacks.error(msg, str(e)))
开发者ID:boamaod,项目名称:Limnoria,代码行数:31,代码来源:plugin.py


示例8: newf

 def newf(self, irc, msg, match, *L, **kwargs):
     url = match.group(0)
     channel = msg.args[0]
     if not irc.isChannel(channel) or (ircmsgs.isCtcp(msg) and not
                                       ircmsgs.isAction(msg)):
         return
     if ircdb.channels.getChannel(channel).lobotomized:
         self.log.debug('Not snarfing in %s: lobotomized.', channel)
         return
     if _snarfed.has(channel, url):
         self.log.info('Throttling snarf of %s in %s.', url, channel)
         return
     irc = SnarfIrc(irc, channel, url)
     def doSnarf():
         _snarfLock.acquire()
         try:
             # This has to be *after* we've acquired the lock so we can be
             # sure that all previous urlSnarfers have already run to
             # completion.
             if msg.repliedTo:
                 self.log.debug('Not snarfing, msg is already repliedTo.')
                 return
             f(self, irc, msg, match, *L, **kwargs)
         finally:
             _snarfLock.release()
     if threading.currentThread() is not world.mainThread:
         doSnarf()
     else:
         L = list(L)
         t = UrlSnarfThread(target=doSnarf, url=url)
         t.start()
开发者ID:boamaod,项目名称:Limnoria,代码行数:31,代码来源:commands.py


示例9: doNotice

 def doNotice(self, irc, msg):
     if ircmsgs.isCtcp(msg):
         try:
             (version, payload) = msg.args[1][1:-1].split(None, 1)
         except ValueError:
             return
         if version == 'VERSION':
             self.versions.setdefault(payload, []).append(msg.nick)
开发者ID:Athemis,项目名称:Limnoria,代码行数:8,代码来源:plugin.py


示例10: doPrivmsg

 def doPrivmsg(self, irc, msg):
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     if ircutils.isChannel(msg.args[0]) and self._is_voting_enabled(irc, msg):
         channel = msg.args[0]
         message = ircutils.stripFormatting(msg.args[1])
         match = self.regexp.match(message)
         if match and match.group(1) in irc.state.channels[channel].users:
             self._gegen(irc, msg, match.group(1))
开发者ID:buckket,项目名称:supybot-scherbengericht,代码行数:9,代码来源:plugin.py


示例11: doPrivmsg

 def doPrivmsg(self, irc, msg):
     """
     Checks each channel message to see if it contains a trigger word
     """
     channel = msg.args[0]
     is_channel = irc.isChannel(channel)
     is_ctcp = ircmsgs.isCtcp(msg)        
     message = msg.args[1]
     bot_nick = irc.nick
     
     # Check origin nick to make sure the trigger
     # didn"t come from the bot.
     origin_nick = msg.nick
     
     is_message_from_self = origin_nick.lower() == bot_nick.lower()
     
     # Only react to messages/actions in a channel and to messages that aren't from
     # the bot itself.
     if is_channel and not is_ctcp and not is_message_from_self:            
         if type(message) is str and len(message):
             fact_chance = int(self.registryValue("factChance"))
             link_chance = int(self.registryValue("linkChance"))            
             throttle_seconds = int(self.registryValue("throttleInSeconds"))
             triggered = self.message_contains_trigger_word(message)
             now = datetime.datetime.now()
             seconds = 0
             
             if self.last_message_timestamp:                
                 seconds = (now - self.last_message_timestamp).total_seconds()
                 throttled = seconds < throttle_seconds
             else:
                 throttled = False
             
             if triggered is not False:
                 self.log.debug("Cayenne triggered because message contained %s" % (triggered))
                 
                 fact_rand = random.randrange(0, 100) <= fact_chance
                 link_rand = random.randrange(0, 100) <= link_chance
                 
                 if fact_rand or link_rand:
                     if throttled:                    
                         self.log.info("Cayenne throttled. Not meowing: it has been %s seconds" % (round(seconds, 1)))
                     else:
                         self.last_message_timestamp = now
                         
                         if fact_rand:
                             output = self.get_fact()
                         
                         if link_rand:
                             output = self.get_link()
                         
                         if output:
                             irc.sendMsg(ircmsgs.privmsg(channel, output))
                         else:
                             self.log.error("Cayenne: error retrieving output")
开发者ID:butterscotchstallion,项目名称:limnoria-plugins,代码行数:55,代码来源:plugin.py


示例12: doPrivmsg

 def doPrivmsg(self, irc, msg):
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     channel = msg.args[0]
     if irc.isChannel(channel):
         if ircmsgs.isAction(msg):
             text = ircmsgs.unAction(msg)
         else:
             text = msg.args[1]
         for info in present_links(text, color=True):
             irc.reply(info, prefixNick=False)
开发者ID:thefinn93,项目名称:UppitLinks,代码行数:11,代码来源:plugin.py


示例13: doPrivmsg

 def doPrivmsg(self, irc, msg):
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     channel = msg.args[0]
     if irc.isChannel(channel):
         if ircmsgs.isAction(msg):
             text = ircmsgs.unAction(msg)
         else:
             text = msg.args[1]
         for url in utils.web.urlRe.findall(text):
             self.fetch_url(irc, channel, url)
开发者ID:HacDC,项目名称:wopr,代码行数:11,代码来源:plugin.py


示例14: shouldLog

	def shouldLog(self, irc, msg, msgtype):
		if not self.registryValue("enable"):
			return False
		if msgtype == MessageType.privmsg or msgtype == MessageType.notice:
			if not irc.isChannel(msg.args[0]):
				return False
			if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
				return False
		if msgtype == MessageType.mode and msg.args[0] == irc.nick:
			return False
		return True
开发者ID:ShadowNinja,项目名称:Limnoria-plugins,代码行数:11,代码来源:plugin.py


示例15: doPrivmsg

 def doPrivmsg(self, irc, msg):
     # We don't handle this if we've been addressed because invalidCommand
     # will handle it for us.  This prevents us from accessing the db twice
     # and therefore crashing.
     if not (msg.addressed or msg.repliedTo):
         channel = msg.args[0]
         if irc.isChannel(channel) and \
            not ircmsgs.isCtcp(msg) and \
            self.registryValue('allowUnaddressedKarma', channel):
             irc = callbacks.SimpleProxy(irc, msg)
             thing = msg.args[1].rstrip()
             self._doKarma(irc, msg, channel, thing)
开发者ID:GLolol,项目名称:Limnoria,代码行数:12,代码来源:plugin.py


示例16: doPrivmsg

 def doPrivmsg(self, irc, msg):
     try:
         if ircmsgs.isCtcp(msg):
             self.log.debug('Returning early from doPrivmsg: isCtcp(msg).')
             return
         s = callbacks.addressed(irc.nick, msg)
         payload = self.normalize(s or msg.args[1], irc.nick, msg.nick)
         if s:
             msg.tag('addressed', payload)
         msg = ircmsgs.IrcMsg(args=(msg.args[0], payload), msg=msg)
         self.__parent.doPrivmsg(irc, msg)
     finally:
         self.changed = False
         self.added = False
开发者ID:D0MF,项目名称:supybot-plugins,代码行数:14,代码来源:plugin.py


示例17: doPrivmsg

 def doPrivmsg(self, irc, msg):
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     channel = msg.args[0]
     if callbacks.addressed(irc.nick, msg):
         return
     if self.registryValue('titleSnarfer', channel):
         if irc.isChannel(channel):
             if ircmsgs.isAction(msg):
                 text = ircmsgs.unAction(msg)
             else:
                 text = msg.args[1]
             for info in present_links(text, color=True):
                 irc.reply(info, prefixNick=False, private=False, notice=False)
开发者ID:AwwCookies,项目名称:peacekeeper,代码行数:14,代码来源:plugin.py


示例18: doPrivmsg

 def doPrivmsg(self, irc, msg):
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     if irc.isChannel(msg.args[0]):
         channel = msg.args[0]
         said = ircmsgs.prettyPrint(msg)
         self.db.update(channel, msg.nick, said)
         self.anydb.update(channel, msg.nick, said)
         try:
             id = ircdb.users.getUserId(msg.prefix)
             self.db.update(channel, id, said)
             self.anydb.update(channel, id, said)
         except KeyError:
             pass # Not in the database.
开发者ID:bnrubin,项目名称:supybot_fixes,代码行数:14,代码来源:plugin.py


示例19: doPrivmsg

 def doPrivmsg(self, irc, msg):
     if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
         return
     channel = msg.args[0]
     if irc.isChannel(channel):
         if ircmsgs.isAction(msg):
             text = ircmsgs.unAction(msg)
         else:
             text = msg.args[1]
         for url in utils.web.urlRe.findall(text):
             r = self.registryValue('nonSnarfingRegexp', channel)
             if r and r.search(url):
                 self.log.debug('Skipping adding %u to db.', url)
                 continue
             self.log.debug('Adding %u to db.', url)
             self.db.add(channel, url, msg)
开发者ID:ElectroCode,项目名称:Limnoria,代码行数:16,代码来源:plugin.py


示例20: doPrivmsg

    def doPrivmsg(self, irc, msg):
        if ircmsgs.isCtcp(msg) and not ircmsgs.isAction(msg):
            return
        channel = msg.args[0]

        if irc.isChannel(channel):
            if ircmsgs.isAction(msg):
                text = ircmsgs.unAction(msg)
            else:
                text = msg.args[1]

            movies = set(URL_REGEX.findall(text))

            if movies:
                api = create_api(plugin=self)
                for mid in movies:
                    api.reply(irc, mid)
开发者ID:Fr3dk,项目名称:supybot-plugin-mods,代码行数:17,代码来源:plugin.py



注:本文中的supybot.ircmsgs.isCtcp函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python ircmsgs.kick函数代码示例发布时间:2022-05-27
下一篇:
Python ircmsgs.isAction函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap