MODULENAME=somethingcool
virtualenv -ppython3 metabot.modules.${MODULENAME}
cd metabot.modules.${MODULENAME}
. bin/activate
mkdir -p config metabot/modules
for i in metabot metabot/modules; do
  echo "__import__('pkg_resources').declare_namespace(__name__)" > ${i}/__init__.py
done
cat >setup.py <<EOF
import setuptools


setuptools.setup(
    name='metabot.modules.${MODULENAME}',
    version='0.0.1',
    packages=setuptools.find_packages(include=('metabot', 'metabot.*')),
    namespace_packages=setuptools.find_packages(include=('metabot', 'metabot.*')),
    install_requires=['metabot'])
EOF
pip install -e .
cat >metabot/modules/${MODULENAME}.py <<EOF
"""Do something cool!"""

from __future__ import absolute_import, division, print_function, unicode_literals


def modhelp(unused_ctx, unused_modconf, sections):
    sections['commands'].add('/${MODULENAME} - Do something cool!')


def moddispatch(ctx, msg, unused_modconf):
    if ctx.type in ('message', 'callback_query') and ctx.command == '${MODULENAME}':
        return ${MODULENAME}(ctx, msg)

    return False


def ${MODULENAME}(ctx, msg):
    msg.add('Your user id is %s!', ctx.user['id'])
EOF
python -m metabot