Skip to content

Releases: colcrunch/killbot

v2.1

25 Mar 20:00
Compare
Choose a tag to compare

New Features

  • Thera Alerts Extension - Notifies you when a thera hole opens in a system/constellation/region that you are interested in.
  • Jabber Ping Relay Extension - Posts jabber pings to a discord channel.
  • EVE News Extension - Posts news, patch notes, and dev blogs to a discord channel.

Improvements

  • SDE Notifications - If the version of the Static Data Export that you have installed is out of date, the bot will notify you (the owner of the application registered on discord) up to once per day.
  • Improve Cache Efficiency by caching ids using Tickers and Names, as well as caching just about all ESI requests.
  • Admin command added to return cache stats for debugging (or fun)
  • Added commands and checks to allow bot and guild owners to add bot admins on a guild-by-guild basis. This does not have much use at the moment, but it is a feature that is there for future development.
  • Removed discord.py from requirements.txt to make installing requirements faster.
    • THIS IS STILL NEEDED. USE python3 -m pip install -U git+https://github.com/Rapptz/discord.py@rewrite TO INSTALL IT.
  • Can tell LinkListener extension to ignore a channel. (Have to be owner/admin)

Fixes

  • Fixed eve-who links in info embeds.

Updating

If you are coming from v2.0 or v2.0.1, you will have to update discord.py as there have been some breaking changes that the bot now requires. (python3 -m pip install -U git+https://github.com/Rapptz/discord.py@rewrite) You will also have to create/update the bot database, which you can do by running python3 launcher.py migrate. (if you are on ubuntu 16.04 use python3.6 instead)

Installation

Installation instructions remain the same as previous versions.

v2.0.1

13 Feb 10:22
Compare
Choose a tag to compare

Patch with minor fixes

Fixes

  • Threat command now accounts for the event that someone has not lost or has not destroyed anything in the current month.
  • Fixes to setup command/launcher.py

Installation

Major Dependencies

  • python3.6
    • f-strings are not supported on earlier versions.
  • discord.py 1.0.0a0 (rewrite)
    • This branch is not technically production yet. To install it python3 -m pip install -U git+https://github.com/Rapptz/discord.py@rewrite
  • aiohttp
  • requests
  • python-memcached (and a memcache server)

Bot

Firstly, the bot does not ship with a copy of the Static Data Export. Secondly, the config file has to be copied and edited.

You will need to copy config.py.example in utils to config.py and fill it out.

Using the setup command python3 launcher.py setup will download the SDE and make the log directory.
(In the future I might allow editing the config file through launcher commands.)

If the SDE is out of date, and you need to update it, run python3 launcher.py update and the launcher will fetch and unzip the SDE for you.

Config

  • addons this is where you list all the addons you would like to use.
    • Default is []
    • Add 'extensions.extension', where extension is one of the extensions listed in the extensions directory.
    • Recommended minimum extensions are 'extensions.AdminCommands', and 'extensions.BotCommands'
  • token is your bot token from the discord site.
  • prefix is the symbol that will come before all your commands.
    • Default is /
  • msg this is the message that you would like to see in the bot's "playing" status.
    • Default is ''.
    • This can also be set after the bot has been started with the /presence command by the bot owner.
  • app is the name of your bot. (include a link to your github if you made any changes.)
    • Default is ''
  • contact is your contact information to be sent in HTTP headers to CCP and zKillboard in case something goes wrong and they need to contact you.
    • Default is ''
    • Good options are discord tag, tweetfleet slack id, email, and eve name.
  • logginglevel is the level of information to log.
    • Default is 'DEBUG'
    • Options are CRITICAL, ERROR, WARNING, INFO, and DEBUG
  • kill_channel is the channel to post the kills into.
    • Default is ''. When set remove the ''
  • kill_ids is the list of ids to watch for.
    • Default is {'alliance_id': [], 'corporation_id': [], 'character_id': [], 'ship_type_id': []}
    • Example {'alliance_id': ['12345', '12234'], 'corporation_id': [], 'character_id': [], 'ship_type_id': []}

Killbot v2.0 (rewrite)

13 Feb 09:03
eb1f599
Compare
Choose a tag to compare

Major rewrite of the bot.

New Features

  • Extensions - Allows you to load and unload extensions, creating a modular experience.
    • This includes commands to enable and disable extensions on the fly. (Currently only available to the user that "owns" the bot)
  • Caching - ESI requests are now cached to increase speed and reduce bandwidth use.
  • New and Improved Embeds! - No more guessing what the alien emoji means. All commands have embeds laid out in a way that makes the information you are looking for easy to find.
  • Link Parsing - When a user posts an evemarketer link or zkillboard link (currently supported zkill links include kills and characters) the bot will check relevant APIs and return an embed packed with information from the linked content.

Installation

Major Dependencies

  • python3.6
    • f-strings are not supported on earlier versions.
  • discord.py 1.0.0a0 (rewrite)
    • This branch is not technically production yet. To install it python3 -m pip install -U git+https://github.com/Rapptz/discord.py@rewrite
  • aiohttp
  • requests
  • python-memcached (and a memcache server)

Bot

Firstly, the bot does not ship with a copy of the Static Data Export. Secondly, the config file has to be copied and edited.

You will need to copy config.py.example in utils to config.py and fill it out.

Do git pull before setup to get a minor bug fix so you can use the setup command.

Using the setup command python3 launcher.py setup will download the SDE and make the log directory.
(In the future I might allow editing the config file through launcher commands.)

If the SDE is out of date, and you need to update it, run python3 launcher.py update and the launcher will fetch and unzip the SDE for you.

Config

  • addons this is where you list all the addons you would like to use.
    • Default is []
    • Add 'extensions.extension', where extension is one of the extensions listed in the extensions directory.
    • Recommended minimum extensions are 'extensions.AdminCommands', and 'extensions.BotCommands'
  • token is your bot token from the discord site.
  • prefix is the symbol that will come before all your commands.
    • Default is /
  • msg this is the message that you would like to see in the bot's "playing" status.
    • Default is ''.
    • This can also be set after the bot has been started with the /presence command by the bot owner.
  • app is the name of your bot. (include a link to your github if you made any changes.)
    • Default is ''
  • contact is your contact information to be sent in HTTP headers to CCP and zKillboard in case something goes wrong and they need to contact you.
    • Default is ''
    • Good options are discord tag, tweetfleet slack id, email, and eve name.
  • logginglevel is the level of information to log.
    • Default is 'DEBUG'
    • Options are CRITICAL, ERROR, WARNING, INFO, and DEBUG
  • kill_channel is the channel to post the kills into.
    • Default is ''. When set remove the ''
  • kill_ids is the list of ids to watch for.
    • Default is {'alliance_id': [], 'corporation_id': [], 'character_id': [], 'ship_type_id': []}
    • Example {'alliance_id': ['12345', '12234'], 'corporation_id': [], 'character_id': [], 'ship_type_id': []}

v1.0 (async)

29 Jan 21:43
Compare
Choose a tag to compare

This is the first release of killbot using discord.py 0.16.

Config

Remember to rename config.py.empty to config.py, and to fill it in.

  • BOT_TOKEN : You get this from the discord bot app that you make. More specifically it comes from the bot user you make to go along with your app.
  • PREFIX : This is the symbol that you want to have before all the commands. Use something that is easy to type, but not all that common.
    • Default is ]
  • APP is the name you want to use in the header that is sent out with HTTP requests.
    • Default is killbot
  • CONTACT is your contact information sent with HTTP requests (i.e email, eve character name, tweetfleet slack tag) in case something goes wrong and CCP or zkill need to contact you.
    • Default is ''
  • msg is the message that you would like to have in the playing status of your bot.
    • Default is ''. In order to show the full message, and help command please limit your message to 12 characters.
  • KILLWATCH_ENABLED : Set this to TRUE to watch zkill for kills!
    • Default is FALSE
  • KILLWATCH_CHANNEL : This is where you set the channel id that you want to have kills posted in.
    • Default is '' however when you set it there should be no quotes. EX: KILLWATCH_CHANNEL = 1234546
  • watchids : This is a dict of lists of IDs for the bot to watch for on zkill.
    • Note: All IDs should be in string format, and separated with commas. EX: 'corps': ["1234","5678"]
  • system_cmd : This is where you set whether or not you want to pull from the esi for the last hour, or set up a cron job and (in 24 short hours) be able to have info for the past 24 hours.
    • Default is ESI
    • If you would like to use the cron option you will want to use 0 * * * * cd /PATH/TO/killbot && /usr/bin/python3 /PATH/TO/syscron.py > /PATH/TO/killbot/logs/syscron.log 2>&1