Exemplo n.º 1
0
def doRedisGchat(message):
    gchatMsg = json.loads(message['data'])
    fb = ("G-%02i") % gchatMsg['ship']
    shipl = ShipLabel.get(fb, fb)
    strgchatmsg = str(gchatMsg['text'].encode('utf-8'))
    if not check_irc_with_pso2(strgchatmsg):
        return
    if gchatMsg['server'] == PSO2PDConnector.connector_conf['server_name']:
        return
    if gchatMsg['sender'] == 1:
        for client in data.clients.connectedClients.values():
            if client.preferences.get_preference('globalChat') and client.get_handle() is not None:
                if lookup_gchatmode(client.preferences) == 0:
                    client.get_handle().send_crypto_packet(packetFactory.TeamChatPacket(gchatMsg['playerId'], "[GIRC] %s" % gchatMsg['playerName'], "[GIRC] %s" % gchatMsg['playerName'], "%s%s" % (client.preferences.get_preference('globalChatPrefix'), replace_irc_with_pso2(strgchatmsg).decode('utf-8'))).build())
                else:
                    client.get_handle().send_crypto_packet(packetFactory.SystemMessagePacket("[GIRC] <%s> %s" % (gchatMsg['playerName'], "%s%s" % (client.preferences.get_preference('globalChatPrefix'), replace_irc_with_pso2(strgchatmsg).decode('utf-8'))), 0x3).build())
    else:
        if ircMode:
                global ircBot
                if ircBot is not None:
                    ircBot.send_global_message(gchatMsg['ship'], str(gchatMsg['playerName'].encode('utf-8')), strgchatmsg, str(gchatMsg['server']))
        for client_data in data.clients.connectedClients.values():
                if client_data.preferences.get_preference('globalChat') and client_data.get_handle() is not None:
                    if lookup_gchatmode(client_data.preferences) == 0:
                        client_data.get_handle().send_crypto_packet(packetFactory.TeamChatPacket(gchatMsg['playerId'], "(%s) [%s] %s" % (gchatMsg['server'], shipl, gchatMsg['playerName']), gchatMsg['playerName'], "%s%s" % (client_data.preferences.get_preference('globalChatPrefix'), gchatMsg['text'])).build())
                    else:
                        client_data.get_handle().send_crypto_packet(packetFactory.SystemMessagePacket("(%s) [%s] <%s> %s" % (gchatMsg['server'], shipl, gchatMsg['playerName'], "%s%s" % (client_data.preferences.get_preference('globalChatPrefix'), gchatMsg['text'])), 0x3).build())
Exemplo n.º 2
0
 def privmsg(self, user, channel, msg):
     if channel == self.factory.channel:
         if self.ircOutput is True:
             print("[GlobalChat] [IRC] <%s> %s" %
                   (user.split("!")[0],
                    replace_irc_with_pso2(msg).decode('utf-8')))
         TCPacket = packetFactory.TeamChatPacket(
             self.get_user_id(user.split("!")[0]),
             "[GIRC] %s" % user.split("!")[0], "%s%s" %
             (gchatSettings['prefix'],
              replace_irc_with_pso2(msg).decode('utf-8'))).build()
         SMPacket = packetFactory.SystemMessagePacket(
             "[GIRC] <%s> %s" %
             (user.split("!")[0], "%s%s" %
              (gchatSettings['prefix'],
               replace_irc_with_pso2(msg).decode('utf-8'))),
             0x3).build()
         for client in data.clients.connectedClients.values():
             if client.preferences.get_preference(
                     'globalChat') and client.get_handle() is not None:
                 if lookup_gchatmode(client.preferences) == 0:
                     client.get_handle().send_crypto_packet(TCPacket)
                 else:
                     client.get_handle().send_crypto_packet(SMPacket)
     else:
         print("[IRC] <%s> %s" % (user, msg))
Exemplo n.º 3
0
 def action(self, user, channel, msg):
     if not check_irc_with_pso2(msg):
         return
     if channel == self.factory.channel:
         if self.ircOutput is True:
             print("[GlobalChat] [Discord] * %s %s" %
                   (user, replace_irc_with_pso2(msg).decode(
                       'utf-8', 'ignore')))
         for client in data.clients.connectedClients.values():
             if client.preferences.get_preference(
                     'globalChat') and client.get_handle() is not None:
                 if lookup_gchatmode(client.preferences) == 0:
                     client.get_handle().send_crypto_packet(
                         packetFactory.TeamChatPacket(
                             self.get_user_id(user.split("!")[0]),
                             "[Discord] %s" % user.split("!")[0],
                             "[Discord] %s" % user.split("!")[0],
                             "* %s%s" %
                             (client.preferences.get_preference(
                                 'globalChatPrefix'),
                              replace_irc_with_pso2(msg).decode(
                                  'utf-8', 'ignore'))).build())
                 else:
                     client.get_handle().send_crypto_packet(
                         packetFactory.SystemMessagePacket(
                             "[Discord] <%s> * %s" %
                             (user.split("!")[0], "%s%s" %
                              (client.preferences.get_preference(
                                  'globalChatPrefix'),
                               replace_irc_with_pso2(msg).decode(
                                   'utf-8', 'ignore'))), 0x3).build())
Exemplo n.º 4
0
 def privmsg(self, user, channel, msg):
     if not check_irc_with_pso2(msg):
         return
     if channel == self.factory.channel:
         if self.ircOutput is True:
             print(
                 "[GlobalChat] [Discord] <%s> %s" %
                 (user.split("!")[0], replace_irc_with_pso2(msg).decode(
                     'utf-8', 'ignore')))
         if redisEnabled:
             PSO2PDConnector.db_conn.publish(
                 "plugin-message-gchat",
                 json.dumps({
                     'sender':
                     1,
                     'text':
                     replace_irc_with_pso2(msg).decode(
                         'utf-8', 'ignore'),
                     'server':
                     PSO2PDConnector.connector_conf['server_name'],
                     'playerName':
                     user.split("!")[0],
                     'playerId':
                     self.get_user_id(user.split("!")[0])
                 }))
         for client in data.clients.connectedClients.values():
             if client.preferences.get_preference(
                     'globalChat') and client.get_handle() is not None:
                 if lookup_gchatmode(client.preferences) == 0:
                     client.get_handle().send_crypto_packet(
                         packetFactory.TeamChatPacket(
                             self.get_user_id(user.split("!")[0]),
                             "[Discord] %s" % user.split("!")[0],
                             "[Discord] %s" % user.split("!")[0],
                             "%s%s" %
                             (client.preferences.get_preference(
                                 'globalChatPrefix'),
                              replace_irc_with_pso2(msg).decode(
                                  'utf-8', 'ignore'))).build())
                 else:
                     client.get_handle().send_crypto_packet(
                         packetFactory.SystemMessagePacket(
                             "[Discord] <%s> %s" %
                             (user.split("!")[0], "%s%s" %
                              (client.preferences.get_preference(
                                  'globalChatPrefix'),
                               replace_irc_with_pso2(msg).decode(
                                   'utf-8', 'ignore'))), 0x3).build())
     else:
         print("[Discord] <%s> %s" % (user, msg))
Exemplo n.º 5
0
 def call_from_console(self):
     global ircMode
     gconsole = ("[%s]") % ShipLabel["Console"]
     if ircMode:
         global ircBot
         if ircBot is not None:
             ircBot.send_global_message(0, ShipLabel["Console"], self.args[2:].encode('utf-8'))
     TCPacket = packetFactory.TeamChatPacket(0x999, gconsole, gconsole, self.args[2:]).build()
     SMPacket = packetFactory.SystemMessagePacket(u"%s %s%s" % (gconsole, gchatSettings['prefix'], self.args[2:]), 0x3).build()
     for client in data.clients.connectedClients.values():
         if client.preferences.get_preference("globalChat") and client.get_handle() is not None:
             if lookup_gchatmode(client.preferences) == 0:
                 client.get_handle().send_crypto_packet(TCPacket)
             else:
                 client.get_handle().send_crypto_packet(SMPacket)
     return "[GlobalChat] %s %s" % (gconsole, self.args[2:])
Exemplo n.º 6
0
 def call_from_client(self, client):
     global ircMode
     if not data.clients.connectedClients[
             client.playerId].preferences.get_preference('globalChat'):
         client.send_crypto_packet(
             packetFactory.SystemMessagePacket(
                 "[GlobalChat] You do not have global chat enabled, and can not send a global message.",
                 0x3).build())
         return
     if data.clients.connectedClients[
             client.playerId].preferences.has_preference(
                 "chatMuted") and data.clients.connectedClients[
                     client.playerId].preferences['chatMuted']:
         client.send_crypto_packet(
             packetFactory.SystemMessagePacket(
                 "[GChat] {red}You have been muted from GChat and can not talk in it. :(",
                 0x3).build())
         return
     print("[GlobalChat] <%s> %s" %
           (data.players.playerList[client.playerId][0], self.args[3:]))
     if ircMode:
         global ircBot
         if ircBot is not None:
             ircBot.send_global_message(
                 data.clients.connectedClients[client.playerId].ship,
                 data.players.playerList[client.playerId][0].encode(
                     'utf-8'), self.args[3:].encode('utf-8'))
     TCPacket = packetFactory.TeamChatPacket(
         client.playerId, "[G-%02i] %s" %
         (data.clients.connectedClients[client.playerId].ship,
          data.players.playerList[client.playerId][0]),
         "%s%s" % (gchatSettings['prefix'], self.args[3:])).build()
     SCPacket = packetFactory.SystemMessagePacket(
         "[G-%02i] <%s> %s" %
         (data.clients.connectedClients[client.playerId].ship,
          data.players.playerList[client.playerId][0], "%s%s" %
          (gchatSettings['prefix'], self.args[3:])), 0x3).build()
     for client_data in data.clients.connectedClients.values():
         if client_data.preferences.get_preference(
                 'globalChat') and client_data.get_handle() is not None:
             if lookup_gchatmode(client_data.preferences) == 0:
                 client_data.get_handle().send_crypto_packet(TCPacket)
             else:
                 client_data.get_handle().send_crypto_packet(SCPacket)
Exemplo n.º 7
0
 def call_from_client(self, client):
     global ircMode
     if not data.clients.connectedClients[client.playerId].preferences.get_preference('globalChat'):
         client.send_crypto_packet(packetFactory.SystemMessagePacket(
             "{yel}[PCP Bot] {gre}Gchat Status: {ora}OFF{gre}, dan tidak dapat mengirim pesan", 0x3).build())
         return
     if data.clients.connectedClients[client.playerId].preferences.has_preference("chatMuted") and data.clients.connectedClients[client.playerId].preferences['chatMuted']:
         client.send_crypto_packet(packetFactory.SystemMessagePacket("{yel}[PCP Bot] {red}Anda dinonaktifkan dari Gchat dan anda tidak dapat mengirim pesan ke Gchat. :(", 0x3).build())
         return
     print("[GlobalChat] [%s] %s" % (data.players.playerList[client.playerId][0], self.args[3:]))
     if redisEnabled:
                 PSO2PDConnector.db_conn.publish("plugin-message-gchat", json.dumps({'sender': 0, 'text': self.args[3:], 'server': PSO2PDConnector.connector_conf['server_name'], 'playerName': data.players.playerList[client.playerId][0], 'playerId': client.playerId, 'ship': data.clients.connectedClients[client.playerId].ship}))
     if ircMode:
         global ircBot
         if ircBot is not None:
             ircBot.send_global_message(data.clients.connectedClients[client.playerId].ship, data.players.playerList[client.playerId][0].encode('utf-8'), self.args[3:].encode('utf-8'))
     fb = ("Ship-%02i") % data.clients.connectedClients[client.playerId].ship
     shipl = ShipLabel.get(fb, fb)
     for client_data in data.clients.connectedClients.values():
         if client_data.preferences.get_preference('globalChat') and client_data.get_handle() is not None:
             if lookup_gchatmode(client_data.preferences) == 0:
                 client_data.get_handle().send_crypto_packet(packetFactory.TeamChatPacket(client.playerId, "[%s] %s" % (shipl, data.players.playerList[client.playerId][0]), data.players.playerList[client.playerId][0], "%s%s" % (client_data.preferences.get_preference('globalChatPrefix'), self.args[3:])).build())
             else:
                 client_data.get_handle().send_crypto_packet(packetFactory.SystemMessagePacket("{ora}[%s] <%s>{yel} %s" % (shipl, data.players.playerList[client.playerId][0], "%s%s" % (client_data.preferences.get_preference('globalChatPrefix'), self.args[3:])), 0x3).build())
Exemplo n.º 8
0
 def call_from_client(self, client):
     global ircMode
     if not data.clients.connectedClients[client.playerId].preferences.get_preference('globalChat'):
         client.send_crypto_packet(packetFactory.SystemMessagePacket(
             "[GlobalChat] You do not have global chat enabled, and can not send a global message.", 0x3).build())
         return
     if data.clients.connectedClients[client.playerId].preferences.has_preference("chatMuted") and data.clients.connectedClients[client.playerId].preferences['chatMuted']:
         client.send_crypto_packet(packetFactory.SystemMessagePacket("[GChat] {red}You have been muted from GChat and can not talk in it. :(", 0x3).build())
         return
     print("[GlobalChat] <%s> %s" % (data.players.playerList[client.playerId][0], self.args[3:]))
     if redisEnabled:
                 PSO2PDConnector.db_conn.publish("plugin-message-gchat", json.dumps({'sender': 0, 'text': self.args[3:], 'server': PSO2PDConnector.connector_conf['server_name'], 'playerName': data.players.playerList[client.playerId][0], 'playerId': client.playerId, 'ship': data.clients.connectedClients[client.playerId].ship}))
     if ircMode:
         global ircBot
         if ircBot is not None:
             ircBot.send_global_message(data.clients.connectedClients[client.playerId].ship, data.players.playerList[client.playerId][0].encode('utf-8'), self.args[3:].encode('utf-8'))
     fb = ("G-%02i") % data.clients.connectedClients[client.playerId].ship
     shipl = ShipLabel.get(fb, fb)
     for client_data in data.clients.connectedClients.values():
         if client_data.preferences.get_preference('globalChat') and client_data.get_handle() is not None:
             if lookup_gchatmode(client_data.preferences) == 0:
                 client_data.get_handle().send_crypto_packet(packetFactory.TeamChatPacket(client.playerId, "[%s] %s" % (shipl, data.players.playerList[client.playerId][0]), data.players.playerList[client.playerId][0], "%s%s" % (client_data.preferences.get_preference('globalChatPrefix'), self.args[3:])).build())
             else:
                 client_data.get_handle().send_crypto_packet(packetFactory.SystemMessagePacket("[%s] <%s> %s" % (shipl, data.players.playerList[client.playerId][0], "%s%s" % (client_data.preferences.get_preference('globalChatPrefix'), self.args[3:])), 0x3).build())
Exemplo n.º 9
0
def GChatDirect(context, data):
    """
    :type context: ShipProxy.ShipProxy
    """
    idsega = context.myUsername
    if idsega is None or str(idsega) == "None" or idsega == "None":
        return data
    else:
        pref = dataclients.ClientPreferences(idsega)
        if pref.has_preference("globalChatDirect"):
            isActive = pref.get_preference("globalChatDirect")
            if isActive:
                if pref.has_preference("chatMuted") and pref.get_preference(
                        'chatMuted'):
                    pref.set_preference("globalChatDirect", False)
                    isActive = False
        else:
            isActive = False
        if isActive:
            try:
                player_id = struct.unpack_from('I', data, 0x8)[0]
                message1 = data[0x1C:].decode('utf-16')
                if player_id == 0:
                    message1 = message1.rstrip('\0')
                    if message1.startswith("/"): return data
                    player_name = dataplayers.playerList[
                        context.playerId][0].rstrip('\0')
                    fb = ("SHIP-%02i") % dataclients.connectedClients[
                        context.playerId].ship
                    shipl = ShipLabel.get(fb, fb)
                    tUser = "******" % (shipl, player_name)
                    print("[GlobalChat] <%s> %s" %
                          (dataplayers.playerList[context.playerId][0],
                           message1))
                if redisEnabled:
                    PSO2PDConnector.db_conn.publish(
                        "plugin-message-gchat",
                        json.dumps({
                            'sender':
                            0,
                            'text':
                            message1,
                            'server':
                            PSO2PDConnector.connector_conf['server_name'],
                            'playerName':
                            dataplayers.playerList[context.playerId][0],
                            'playerId':
                            client.playerId,
                            'ship':
                            dataclients.connectedClients[client.playerId].ship
                        }))
                if ircMode:
                    global ircBot
                    if ircBot is not None:
                        ircBot.send_global_message1(
                            dataclients.connectedClients[
                                context.playerId].ship, dataplayers.playerList[
                                    context.playerId][0].encode('utf-8'),
                            message1.encode('utf-8'))
                    for client_data in dataclients.connectedClients.values():
                        if client_data.preferences.get_preference(
                                'globalChat') and client_data.get_handle(
                                ) is not None:
                            if lookup_gchatmode(client_data.preferences) == 0:
                                client_data.get_handle().send_crypto_packet(
                                    packetFactory.TeamChatPacket(
                                        context.playerId,
                                        "[%s] %s" % (shipl, player_name),
                                        player_name, "%s%s" %
                                        (client_data.preferences.
                                         get_preference('globalChatPrefix'),
                                         message1)).build())
                            else:
                                client_data.get_handle().send_crypto_packet(
                                    packetFactory.SystemMessagePacket(
                                        "{ora}[%s] <%s>{yel} %s" %
                                        (shipl, player_name, "%s%s" %
                                         (client_data.preferences.
                                          get_preference('globalChatPrefix'),
                                          message)), 0x3).build())
                    return None
            except Exception as e:
                print("[Error] %s" % e)
                return data
        return data
Exemplo n.º 10
0
def generate_translated_team_message(player_id, account, charname, cmd,
                                     message, end_lang, start_lang):
    message_string = translate_message(cmd, message, end_lang, start_lang)
    return packetFactory.TeamChatPacket(player_id, account, charname,
                                        message_string, True).build()
Exemplo n.º 11
0
        def privmsg(self, user, channel, msg):
            if not check_irc_with_pso2(msg):
                return
            if channel == self.factory.channel:
                if "title: [Ship " in msg:
                    self.nickbuf = user
                    self.nickmsgbuf = msg.replace("title: ", "", 1)
                    return
                elif "title: " in msg and "title: [Ship " not in msg:
                    self.nickbuf = None
                if self.nickbuf == user:
                    msg = msg.replace("description: ", "", 1)
                if self.ircOutput is True:
                    if self.nickbuf == user:
                        print(
                            "[GlobalChat] [IRC] <{}> {}".format(
                                self.nickmsgbuf.split("] ")[1],
                                replace_irc_with_pso2(msg).decode('utf-8', 'ignore')
                            )
                        )
                    else:
                        print(
                            "[GlobalChat] [IRC] <{}> {}".format(
                                user.split("!")[0],
                                replace_irc_with_pso2(msg).decode('utf-8', 'ignore')
                            )
                        )
                if redisEnabled:
                    if self.nickbuf == user:
                        PSO2PDConnector.db_conn.publish(
                            "plugin-message-gchat",
                            json.dumps(
                                {
                                    'sender': 1,
                                    'text': replace_irc_with_pso2(msg).decode('utf-8', 'ignore'),
                                    'server': PSO2PDConnector.connector_conf['server_name'], 'playerName': self.nickmsgbuf,
                                    'playerId': self.get_user_id(self.nickmsgbuf),
                                    'ship': "GIRC"
                                }
                            )
                        )
                    else:
                        PSO2PDConnector.db_conn.publish(
                            "plugin-message-gchat",
                            json.dumps(
                                {
                                    'sender': 1,
                                    'text': replace_irc_with_pso2(msg).decode('utf-8', 'ignore'),
                                    'server': PSO2PDConnector.connector_conf['server_name'],
                                    'playerName': user.split("!")[0],
                                    'playerId': self.get_user_id(user.split("!")[0]), 'ship': "GIRC"
                                }
                            )
                        )
                for client in data.clients.connectedClients.values():

                    if discord and self.nickbuf == user:
                        nickmsg = self.nickmsgbuf.split(":")[0]
                    else:
                        nickmsg = user.split("!")[0]
                    pso2msg = replace_irc_with_pso2(msg).decode('utf-8', 'ignore')
                    if client.preferences.get_preference('globalChat') and client.get_handle() is not None:
                        if lookup_gchatmode(client.preferences) == 0:
                            client.get_handle().send_crypto_packet(
                                packetFactory.TeamChatPacket(
                                    self.get_user_id(nickmsg),
                                    u"[GIRC] %s" % nickmsg,
                                    u"[GIRC] %s" % nickmsg,
                                    u"%s%s" % (
                                        client.preferences.get_preference('globalChatPrefix'),
                                        pso2msg
                                    )
                                ).build()
                            )
                        else:
                            client.get_handle().send_crypto_packet(
                                packetFactory.SystemMessagePacket(
                                    u"[GIRC] <{}> {}".format(
                                        nickmsg,
                                        u"{}{}".format(
                                            client.preferences.get_preference('globalChatPrefix'),
                                            pso2msg
                                        )
                                    ),
                                    0x3
                                ).build()
                            )
            else:
                if not discord:
                    print("[IRC] <%s> %s" % (user.encode('ascii', 'ignore'), msg.encode('ascii', 'ignore')))
Exemplo n.º 12
0
        fb = "GIRC"
    else:
        fb = ("G-%02i") % gchatMsg['ship']
>>>>>>> d4a7bf2cacdd48a2cfb02935e664e0f093252d00
    shipl = ShipLabel.get(fb, fb)
    strgchatmsg = str(gchatMsg['text'].encode('utf-8'))
    if not check_irc_with_pso2(strgchatmsg):
        return
    if gchatMsg['server'] == PSO2PDConnector.connector_conf['server_name']:
        return
    if gchatMsg['sender'] == 1:
        for client in data.clients.connectedClients.values():
            if client.preferences.get_preference('globalChat') and client.get_handle() is not None:
                if lookup_gchatmode(client.preferences) == 0:
<<<<<<< HEAD
                    client.get_handle().send_crypto_packet(packetFactory.TeamChatPacket(gchatMsg['playerId'], "[Discord] %s" % gchatMsg['playerName'], "[Discord] %s" % gchatMsg['playerName'], "%s%s" % (client.preferences.get_preference('globalChatPrefix'), replace_irc_with_pso2(strgchatmsg).decode('utf-8', 'ignore'))).build())
                else:
                    client.get_handle().send_crypto_packet(packetFactory.SystemMessagePacket("[Discord] <%s> %s" % (gchatMsg['playerName'], "%s%s" % (client.preferences.get_preference('globalChatPrefix'), replace_irc_with_pso2(strgchatmsg).decode('utf-8', 'ignore'))), 0x3).build())
=======
                    client.get_handle().send_crypto_packet(
                        packetFactory.TeamChatPacket(
                            gchatMsg['playerId'],
                            "[GIRC] %s" % gchatMsg['playerName'],
                            "[GIRC] %s" % gchatMsg['playerName'],
                            "%s%s" % (
                                client.preferences.get_preference('globalChatPrefix'),
                                replace_irc_with_pso2(strgchatmsg).decode('utf-8', 'ignore')
                            )
                        ).build()
                    )
                else: