コード例 #1
0
 async def world_autocomplete(self, interaction: discord.Interaction,
                              current: str):
     if not current:
         return []
     current = current.lower()
     query = prepare_search(current)
     query = {"name": query}
     items = await self.db.worlds.find(query).to_list(25)
     return [Choice(name=it["name"], value=str(it["_id"])) for it in items]
コード例 #2
0
ファイル: misc.py プロジェクト: Maselkov/GW2Bot
 async def chatcode_upgrade_autocomplete(self,
                                         interaction: discord.Interaction,
                                         current: str):
     if not current:
         return []
     query = prepare_search(current)
     query = {"name": query, "type": "UpgradeComponent"}
     items = await self.db.items.find(query).to_list(25)
     return [Choice(name=it["name"], value=str(it["_id"])) for it in items]
コード例 #3
0
    async def guildsync_autocomplete(self, interaction: discord.Interaction,
                                     current: str):

        syncs = await self.db.guildsyncs.find({
            "guild_id": interaction.guild.id,
            "name": prepare_search(current)
        }).to_list(None)
        syncs = [self.SyncGuild(self, doc, interaction.guild) for doc in syncs]
        options = []
        for sync in syncs:
            options.append(Choice(name=sync.guild_name, value=sync.id))
        return options
コード例 #4
0
 async def tp_autocomplete(self, interaction: discord.Interaction,
                           current: str):
     if not current:
         return []
     query = prepare_search(current)
     query = {
         "name": query,
         "flags": {
             "$nin": ["AccountBound", "SoulbindOnAcquire"]
         }
     }
     items = await self.db.items.find(query).to_list(25)
     items = sorted(items, key=lambda c: c["name"])
     return [Choice(name=it["name"], value=str(it["_id"])) for it in items]