async def get_subalias_named(self, ctx, name): alias = await ctx.bot.mdb.workshop_aliases.find_one( {"parent_id": self.id, "name": name} ) if alias is None: raise CollectableNotFound() return WorkshopAlias.from_dict(alias, collection=self._collection, parent=self)
async def from_id(cls, ctx, _id, collection=None, parent=None): if not isinstance(_id, ObjectId): _id = ObjectId(_id) raw = await ctx.bot.mdb.workshop_aliases.find_one({"_id": _id}) if raw is None: raise CollectableNotFound() return cls.from_dict(raw, collection, parent)
async def from_id(cls, ctx, _id, collection=None): if not isinstance(_id, ObjectId): _id = ObjectId(_id) raw = await ctx.bot.mdb.workshop_snippets.find_one({"_id": _id}) if raw is None: raise CollectableNotFound() versions = [CodeVersion.from_dict(cv) for cv in raw['versions']] entitlements = [RequiredEntitlement.from_dict(ent) for ent in raw['entitlements']] return cls(raw['_id'], raw['name'], raw['code'], versions, raw['docs'], entitlements, raw['collection_id'], collection)