async def METHOD_NAME(self, ctx, *, topic: str = None):
    """Change topic of #general
    Use `[p]generalchannel topic +<text>` to add text
    to end of topic"""
    channel = await self.config.guild(ctx.guild).channel()
    channel = ctx.guild.get_channel(channel)
    if topic is not None:
        if len(topic) > 1024:
            topic = topic[:1024]
        if topic.startswith("+"):
            topic = topic[1:].strip()
            topic = "{}\n{}".format((channel.topic or ""), topic)
            if len(topic) > 1024:
                topic = topic[-1024:]
    try:
        await channel.edit(
            topic=topic,
            reason=get_audit_reason(ctx.author, _("General channel topic change")),
        )
    except discord.Forbidden:
        await ctx.send(chat.error(_("Unable to change channel's topic: Missing permissions")))
    except discord.HTTPException as e:
        ctx.command.reset_cooldown(ctx)
        await ctx.send(chat.error(_("Unable to change channel's topic: Failed: {}").format(e)))
    else:
        await ctx.tick()