igni has advanced logs, but that comes with a compromise - they're a bit harder to setup in text chat (on our dashboard with UI, it will be much simpler).
To add channel to logs, simply call logs add
or logs set
with channel name, like
!logs add #logs
To edit rules, call logs alter
with channel name and rule alterations.
Igni uses minecraft-permissions-like rules for logs. A list of all rules can be seen here:
*
- Wildcard, any event (default)*.*
- Alias to *user.*
- Any user related eventchannel.*
- Any channel related event (messages aren't part of it)category.*
- Any category related event (category create/update/delete)message.*
- Message related event (excluding new messages)guild.*
- Server related events (rename, ban, region change etc)roles.*
- Roles related eventsconfig.*
- Bot config related eventsemoji.*
- Emoji create/rename/deleteinvite.*
- Invite related eventsuser.join
- When user joins the serveruser.leave
- When user leaves the serevruser.update
- User update (avatar change, rename etc) [doesn't work]user.presenceUpdate
- On user presence change. Can be enabled only by bot owner.channel.create
- When new channel is createdchannel.delete
- When channel is deletedchannel.pins
- When there's a new pinned message [doesn't work]channel.update
- When channel is updated (currently excluding permission changes)channel.name
- When channel is renamedcategory.create
- When category is createdcategory.delete
- When category is deletedcategory.perms
- When permissions for category are changed [doesn't work]category.name
- When category is renamedguild.update
- When guild is updated (excluding permission changes)guild.boost
- When premium user boosts guild (bot boosting, not discord boost)guild.ban
- When user gets bannedguild.removeBan
- When user gets unbannedguild.integration
- When there's new integration [doesn't work]guild.kick
- When user gets kickedguild.warn
- When user gets warned using igniguild.webhook
- When guild webhook settings changes [doesn't work]roles.create
- When role is createdroles.update
- When role is updatedmessage.withLink
- When a message with link is posted [doesn't work, might be removed later]message.withInvite
- When a message with invite to server is posted [doesn't work, might be removed later]message.edit
- When message is editedmessage.delete
- When message is deletedmessage.purge
- When messages are purged (mass deleted)emoji.create
- When emoji is created [doesn't work]emoji.delete
- When emoji is deleted [doesn't work]emoji.update
- When emoji is updated [doesn't work]invite.create
- When invite is createdinvite.delete
- When invite is deleted
Channels are updated using alterations which is specified by a single character before rule - either -
(remove), +
(add) or !
(toggle, invert).
You can put as many alterations after each other as you want.
The following will log every message edit
!logs alter #logs -* +message.edit
Note that you need to remove wildcard first before other rules take effect
You can remove logs channel using remove
subcommand:
!logs remove #logs