Example #1
0
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
    print(bot.user.id)
    print(' --  --  -- ')

    tmpFile = getTempFile()
    if tmpFile.exists():
        print(tmpFile)
        f = open(tmpFile, 'r')
        line = f.read().split(".")
        guild_id = int(line[0])
        pid = int(line[1])
        f.close()
        os.remove(tmpFile.absolute())
        try:
            os.kill(pid, signal.SIGKILL)
        except OSError:
            print(f"pid {pid} is not found. Ignore")
        else:
            print("restart successful, sending success message")
        db = KfpDb()
        channel: Channel = ChannelUtil.getRebootMessageChannel(guild_id)
        if channel:
            await bot.get_channel(channel.channel_id
                                  ).send("更新結束, 現在版本 {}".format(get_version()))
    refreshStatus.start()
    reviveComaStatus.start()
Example #2
0
    def test_itemDropHiddenMigration(self):
        oldDbPath = getDBPath("item_has_hidden.db")
        testDbPath = getDBPath("test.db")
        shutil.copyfile(oldDbPath, testDbPath)

        database = KfpDb(testDbPath)
        assert KfpMigrator.KfpMigrate(database.sqliteDb)
        database.teardown()
        os.remove(testDbPath)
Example #3
0
    def test_memberTokenMigration(self):
        oldDbPath = getDBPath("old.db")
        testDbPath = getDBPath("test.db")
        shutil.copyfile(oldDbPath, testDbPath)

        database = KfpDb(testDbPath)
        assert KfpMigrator.KfpMigrate(database.sqliteDb)
        database.teardown()
        os.remove(testDbPath)
Example #4
0
async def command_restart(ctx, *attr):
    db = KfpDb()
    ChannelUtil.setRebootMessageChannel(guild_id=ctx.guild.id,
                                        channel_id=ctx.channel.id)
    await ctx.send("現在版本 {}, 檢查更新中...".format(get_version()))
    tmpFile = getTempFile()
    tmpFile.touch()
    f = open(tmpFile, "a")
    f.write(f"{ctx.guild.id}.")
    f.write(f"{os.getpid()}")
    f.close()

    Popen([os.sep.join((os.getcwd(), "update_and_restart.sh"))], shell=True)
Example #5
0
 def setup_method(self, method):
     self.database = KfpDb(":memory:")
Example #6
0
 def __init__(self, client: commands.Bot):
     self.bot = client
     self.database = KfpDb()
     self.betting_permissions = self.database.load_permissions(
         Util.ManagementType.Gambling)
Example #7
0
    def test_withRegularDatabase(self):
        database = KfpDb(":memory:")

        database.add_member(1)
        member: Member = database.get_member(1)
        assert member
Example #8
0
 def test_dataIntegrity(self):
     self.database = KfpDb(dbFile="tmp_test.db")
     self.database.add_member(12346)
     self.database = KfpDb(dbFile="tmp_test.db")
     member = self.database.get_member(12346)
     assert member.member_id == 12346
Example #9
0
 def setup_method(self, method):
     self.guild_id = 123
     self.database = KfpDb(dbFile=":memory:")
     self.database.add_member(default_user_id)  # add a default member
Example #10
0
 def __init__(self, client, dbFile: str, isTest=False):
     self.bot = client
     self.db = KfpDb(dbFile)
     self.isTest = isTest