#!/usr/bin/env python3
import logging
import json
from gather.gatherbot import GatherBot
from gather import commands


def main():
    logging.basicConfig(
        level=logging.INFO,
        format="%(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s",
    )

    with open('config.json') as f:
        config = json.load(f)

    bot = GatherBot()
    bot.register_action('^!help', commands.bot_help)
    bot.register_action('^!(?:add|s)', commands.add)
    bot.register_action('^!(?:remove|so)', commands.remove)

    bot.run(config['token'])

if __name__ == '__main__':
    main()

#!/usr/bin/env python3
import logging
import json
from gather.gatherbot import GatherBot
from gather import commands


def main():
    logging.basicConfig(
        level=logging.INFO,
        format="%(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s",
    )

    with open('config.json') as f:
        config = json.load(f)

    bot = GatherBot()
    bot.register_action('^!help', commands.bot_help)
    bot.register_action('^!(?:add|s)$', commands.add)
    bot.register_action('^!(?:remove|so)$', commands.remove)

    bot.run(config['token'])

if __name__ == '__main__':
    main()

Fix regexes so that so doesn't match s