コード例 #1
0
    def networkCB(self, collaterals, added):

        response = common.networkUpdate(self, collaterals, added)

        for dbUser in self.database.getUsers('where network_n=1'):

            self.sendMessage(dbUser['id'], response)

        if added:
            # If the callback is related to new nodes no need for
            # the continue here.
            return

        # Remove the nodes also from the user database
        for collateral in collaterals:

            # Before chec if a node from anyone got removed and let him know about it.
            for userNode in self.database.getNodes(collateral):

                response = messages.nodeRemovedNotification(self.messenger, userNode['name'])

                self.sendMessage(userNode['user_id'], response)

            # Remove all entries containing this node in the db
            self.database.deleteNodesWithId(collateral)
コード例 #2
0
    def networkCB(self, collaterals, added):

        nodeCount = self.nodeList.count()
        asyncio.run_coroutine_threadsafe(self.client.change_presence(game=discord.Game(name='our {} MasterNodes'.format(nodeCount), type=3)), loop=self.client.loop)

        response = common.networkUpdate(self, collaterals, added)

        # Handle the network update notifications.
        for dbUser in self.database.getUsers('where network_n=1'):

            member = self.findMember(dbUser['id'])

            if member:
                asyncio.run_coroutine_threadsafe(self.sendMessage(member, response), loop=self.client.loop)

        if added:
            # If the callback is related to new nodes no need for
            # the continue here.
            return

        # Remove the nodes also from the user database
        for collateral in collaterals:

            # Before chec if a node from anyone got removed and let him know about it.
            for userNode in self.database.getNodes(collateral):

                member = self.findMember(userNode['user_id'])

                if member:
                    response = messages.nodeRemovedNotification(self.messenger, userNode['name'])
                    asyncio.run_coroutine_threadsafe(self.sendMessage(member, response), loop=self.client.loop)

            # Remove all entries containing this node in the db
            self.database.deleteNodesWithId(collateral)