Skip to content

Releases: panthernet/ThunderED

ThunderED EVE Discord Bot v1.3.12

29 Apr 21:58
Compare
Choose a tag to compare

V1.3.12

  • Added new HR module param ValidateTokensWhileLoading
  • Added icons to HR users list when user don't have or have invalid ESI token
  • Fixed Preliminary auth without ESI permissions
  • Fixed HR module not displaying characters whithout ESI

ThunderED EVE Discord Bot v1.3.11

29 Apr 13:59
Compare
Choose a tag to compare

V1.3.11

  • Fixed HR module confirmation popups to work with Bootstrap 4.3
  • Fixed possible exception during cache cleanup

ThunderED EVE Discord Bot v1.3.10

27 Apr 20:40
Compare
Choose a tag to compare

V1.3.10

  • Added new module - Web Config Editor with basic functionality
  • Added new tags to KM templates: {victimAllyOrCorpName}, {victimAllyOrCorpTicker}, {attackerAllyOrCorpName}, {attackerAllyOrCorpTicker}, {constName}, {regionName}, {isSoloKill}, {isAwoxKill}, {iskFittedValue}
  • Improved !ships command to accept group or ship name as the last param. Examples: !ships who online dreads !ships all moros
  • Fixed minor deployment and package errors
  • Fixed accepted courier contracts handling

FEATURES HIGHLIGHT

New WebConfigEditor module allows you to edit and save Simplified Auth file from the web page. This file is used to manage authentication.
More features will be added in the future releases.

BREAKING CHANGES

  • Renamed !caps command into !ships command
  • Renamed EnableCapsCommand, CapsCommandDiscordChannels, CapsCommandDiscordRoles to their Ships counterpart

ThunderED EVE Discord Bot v1.3.8

21 Apr 13:23
Compare
Choose a tag to compare

V1.3.8

  • Added new ShowOnlyBasicDetails param for contracts filter - display only condensed basic info
  • Added new RedirectByIdInDescription and PostToChannelIfRedirected params for contracts filter - read WiKi on GitHub for details
  • Added notifications: MoonminingExtractionStarted, MoonminingExtractionCancelled, MoonminingAutomaticFracture
  • Added AvoidDupesAcrossAllFeeds param to ZKB settings to avoid dupe kills from all radius and live feeds
  • Added vital characters cache update on bot startup/reload
  • Fixed contracts citadel qeries
  • Fixed Back urls in web interface
  • Fixed auth roles assignment with one button mode and standalone buttons enabled

!!!Read updated Contracts FAQ for detailed description (https://github.com/panthernet/ThunderED/wiki/Contracts-Feed-Setup)

Breaking Changes

  • Added new static ZKBSettingsModule settings section. Related ZKB parameters moved here: zkillLiveFeedRedisqID, UseSocketsForZKillboard, ZKillboardWebSocketUrl

ThunderED EVE Discord Bot v1.3.7

14 Apr 19:30
Compare
Choose a tag to compare

V1.3.7

  • Added showinfo links processing in mail messages
  • Added contract filter Discord channel validation
  • Added AllAnchoringMsg notification processing for POS deployment
  • Fixed some notification parsing

ThunderED EVE Discord Bot v1.3.6

08 Apr 20:12
Compare
Choose a tag to compare

V1.3.6

  • Fixed radiusKillFeedModule constellation and region handling
  • Automatic preliminary auth check now has 5 min delay timer

ThunderED EVE Discord Bot v1.3.5

02 Apr 19:44
Compare
Choose a tag to compare

V1.3.5

  • Added spy mail feed filters by corp/alliance name and feed channel
  • Added DisplayDetailsSummary param to display EVE urls in mail summary
  • Added ability to auth timers module by Discord roles
  • Fixed auth cleanup bug when where was an auth group in a list with empty Allowed* fields (literally group allowed all users to auth)
  • Fixed forbidden channels handling for commands
  • Fixed radius kill feed with 0 system range paramater
  • Improved and cleaned up Discord mail feeds, introduced new mail summaries with EVE fit & channel links into separate blocks to reduce clutter
  • Improved text breaking logic to respect words and urls
  • Improved radiusKillFeedModule to accept all IDs and names in a single mixed list
  • Improved timersModule to accept all IDs and names in a single mixed list
  • Improved TED_ConfigEditor to correctly work with mixed lists
  • Removed duplicate mails from spy feeds

HIGHLIGHTS

Introducing global quality of life improvement - parameters which accept mixed arrays of IDs and names. Previously there was only strong typed arrays with faceless ID values.
Now I will gradually update modules to accept both names and IDs in a condensed number af params. This will reduce clutter, improve usability and readability of config files.
Before:

"accessList": {
      "UnitedFleet":{
        "AllianceIDs": [123],
        "CharacterIDs": [456],
        "CorporationIDs": [789,911]
      }
    },

After:

"accessList": {
      "UnitedFleet":{
        "FilterEntities": [123, "John Snow", "a:Goonswarm Federation", "c:Corporation"],
      }
    },

Note the a: and c: prefixes, they are needed to search for alliance or corporation. If no prefix is specified then system will search for character.
Also not that system can search for corporations and alliances by TICKER!
System, constellation and region names do not require prefixes as they're unique by default.

NOTES

  • New SpyFilters config param in HRMModule section allows you to filter your spies output
  • New DisplayDetailsSummary param for MailModule filter
  • New DisplayMailDetailsSummary param for HRMModule filter
  • Several notes about Spies HR improvements.
    • You can now disable default mail feed by setting DefaultSpiesMailFeedChannelId to 0.
    • You can selectively enable and redirect mail feed by adding filters to SpyFilters collection
    • New filters use EVE names instead of IDs which improves config readability while not impacting general performance
    • Mail now can display summary blocks after the message which include EVE urls for fits and channels. You can paste these urls into EVE MAIL body to become readable inside the game.

BREAKING CHANGES

  • Renamed SpiesMailFeedChannelId config param to DefaultSpiesMailFeedChannelId
  • Removed RadiusSystemId,RadiusConstellationId,RadiusRegionId,RadiusChannel from radiusKillFeedModule
  • Added radiusChannels and radiusEntities to radiusKillFeedModule
  • Added FilterEntities,FilterDiscordRoles to timersModule access lists. Removed old parameters.

ThunderED EVE Discord Bot v1.3.4

12 Mar 17:32
Compare
Choose a tag to compare

V1.3.4

  • Added new BindToMainCharacter param to AuthGroups (read explanation below)
  • Added new IsAltUsersVisible, CanInspectAltUsers and CanRestoreDumped params to HR module access list
  • Added ability to restore members from dump in HR module
  • Added new experimental !caps command to display capital skills stats throughout the members database
  • Fixed corp and alliance data update in HR lists when users changes them
  • Fixed contracts type filter
  • Refactored authentication code to be more consistent with the modules
  • Updated HR module to include Alt Characters information into general lists and char inspection page

NOTES

  • Added new mode for the authentication process called: Alt Characters Authentication! In this mode you can bind alt characters with custom ESI permissions to the already authed main characters. Alt characters are dependant from the main character i.e. will be deleted if main character auth is deleted. They can be inspected in HR module and will be a subject for a subset of some new Discord commands.
    When this mode is enabled it will always be treated as if ExcludeFromOneButtonMode and SkipDiscordAuthPage params are set to true
    Set BindToMainCharacter to enable this mode. Please take a look at the auth group named Mode6_AltCharactersAuth in settings.def.json file for more info.
  • Added new experimental !caps command to display information about capital ship drivers on channel/server.
    This command uses new settings section: CommandsConfig and new config file shipdata.def.json which will be automaticaly unfold into shipdata.json.
    CapsCommandDiscordRoles - list of Discord roles who has access to this command (empty = all)
    CapsCommandDiscordChannels - list of Discord channels where this command is allowed (empty = everywhere)

ADDITIONS

  • New config section CommandsConfig
  • Many new language entries
  • New IsAltUsersVisible and CanInspectAltUsers params to HR module access list
  • New BindToMainCharacter param for AuthGroups

ThunderED EVE Discord Bot v1.3.3

06 Mar 21:32
Compare
Choose a tag to compare

V1.3.3

  • Added new UseStrictAuthenticationMode param to auth group (read explanation below)
  • Added new week(w), lastweek(lw), lastday(ld), rating(r) command parameters for !stats command
  • Added new ExcludeFromOneButtonMode param to auth group to avoid being search when UseOneAuthButton is enabled
  • Added new dateFormat param to Config section
  • Added new RatingModeChannelId param to StatsModule and IncludeInRating param to Stats groups to autopost rating message
  • Improved auth process checks to go in the following order: char -> corp -> alliance
  • Improved auth process checks to search criterias through several filters within one group (read explanation below)
  • Improved auth checks to delete applying members with invalidated tokens
  • Improved ZKB sockets cleanup and restart
  • Fixed !stats d command to not include losses to npc
  • Fixed type filtering for contracts feeder
  • Fixed simplified auth empty line handling
  • Simplified web server settings (read breaking changes below)
  • Moved Templates/Messages templates to Data directory under Linux (read breaking changed below)

NOTES

  • helpStat language entry has been updated

BREAKING CHANGES

  • Auth process checks will now search criterias through several filters within one group by default. This means that the process will now gather all roles that match characters ID, corp ID and alliance ID in AllowedCharacters, AllowedCorporations and AllowedAlliances filters.
    New UseStrictAuthenticationMode param has been introduced which is false by default. When enabled it will force auth process to act as before and stop after the first matching criteria is found.
  • Removed WebListenIP and WebListenPort params from WebServerModule config section. Internal port will now always be similar to WebExternalPort and internal IP address will now always be 0.0.0.0. This IP will force app under Linux and Windows to listen all local interfaces.
  • The bot will now search for Templates/Messages templates in Data/Templates/Messages directory under Linux

ThunderED EVE Discord Bot v1.3.2

20 Feb 20:37
Compare
Choose a tag to compare
Pre-release

V1.3.2

  • Added optional SkipDiscordAuthPage param to auth groups to be able to store ESI token and skip Discord auth
  • Added unit tests project
  • Added means to counter Linux data location problems (explanation below)
  • Added delete member buttons to HRM main page
  • Added filters for member lists on main HRM page
  • Added UseDumpForMembers and DumpInvalidationInHours params to HRM module config
  • Added new Spies list for HR members. Dumped members can be marked as Spies to avoid being recycled.
  • Added new SovTrackerModule (read highlight section below)
  • Added new clist command to list contracts for specified group
  • Added new simplified auth management file (read highlight section below)
  • Added new auth param to use only one button for authentication UseOneAuthButton
  • Added support for BR web compression
  • Added SpiesMailFeedChannelId to be able to feed new mail for characters marked as spies
  • Enhanced HRM module access options and security (explanation below)
  • Removed Discord mention from language file entry mailMsgTitle
  • Removed default text for authPageHeaderText language string
  • Changed default MySQL collation to utf8mb4_general_ci
  • Improved HTML templating and unified CSS+JS includes
  • Updated SQLite to work in WAL mode

HIGHLIGHTS

  • One auth button mode can be enabled by setting UseOneAuthButton param to true. In this case the bot will search for first group which satisfies member corp/alliance condition. There is also a change in auth process wotkflow which force users to authenticate twice if found auth group contains ESI permissions. In this case automatic redirects are used so user logs in once and select character twice.

  • Added new SovTrackerModule which now allows to track sov space holder changes and ADM index falls beyond the threshold in the filtered sets of solar systems. Systems can be filtered by ID, holder alliance, region ID and constellation ID. All filters are ADDITIVE. !!!WARNING - this module can be very resource consuming so please read following recommendations.

    1. Specifying HolderAlliances param will search through 5k+ entries for holder changes on each check (up to 8-10 sec processing on good PC if not prefiltered by Systems).
    2. Specifying Regions or Constellations will force bot to fetch system data for each entry which has mild impact on performance.
    3. Recommended CheckIntervalInMinutes is 30+ minutes to avoid excessive stress
    4. Additive filter hierarchy: Systems -> HolderAlliances -> Regions -> Constellations. The most efficient way to setup this module is to specify Systems only.
  • Added an ability to read and inject authentication data from standalone file named _simplifiedAuth.txt.
    This file holds auth data in a compact CSV-like manner which can be helpful for less IT skilled admins or people who manage access right quite often. In this file all entities are identified by names instead of numeric IDs which are then looked up on ESI during the bot startup. Specified auth data will be injected into auth groups during runtime. You can even end up with empty predefined auth groups in settings.json file.
    All fields are | delimeted, Discord roles are comma delimited.
    Format: Exact Alliance or Corp or Character name|exact auth group name from config file|Discord role1,Discord role2
    Example1: Starlane Limited|PrelimAlly|Members,[UF]
    Example2: Goonswarm Federation|GuestAuthGroup|GuestRole,TempRole

    You can edit this file and use !rehash command to apply changes right away

BREAKING CHANGES

  • To counter multiple problems with config and logs location under Linux we now search all sensitive data under folder named Data in bot root directory. Sensitive data is represented by config file, db file and log files. Linux users now should use Docker mount or Linux link commands to mount Data folder into the app directory.
    In the following example we mount /opt/thunder directory to Data folder.
    EXAMPLE:
 mkdir /opt/thunder
 --copy settings.json into newly created folder
 docker run -p 8080:8080 -v /opt/thunder:/app/ThunderED/Data thundered:latest

WARNING!!! Config param named DatabaseFile in Database section should now contain only DB filename without a path to avoid errors.

  • Introduced AccessLists param for HRMModule which now allows advanced access distribution.
    Now you can:

    • Limit access and display of specific user groups for certain roles and characters
    • Limit access for certain roles and characters to members authed under specific group
    • Limit access for certain roles and characters to members of specific corps and alliances
    • Limit features access

    EXAMPLE:

    "AccessList": {
      "accessList1": {
        "UsersAccessList": [],
        "RolesAccessList": [],
        "AuthGroupNamesFilter": [],
        "AuthAllianceIdFilter": [],
        "AuthCorporationIdFilter": [],
        "ApplyGroupFilterToAwaitingUsers":  false,
        "IsAwaitingUsersVisible": true,
        "IsDumpedUsersVisible": true,
		"IsAuthedUsersVisible": true,
        "IsSpyUsersVisible":  true,
        "CanSearchMail":  true, 
        "CanKickUsers":  true,
        "CanMoveToSpies":  true,
        "CanInspectAuthedUsers":  true,
        "CanInspectAwaitingUsers":  true,
        "CanInspectDumpedUsers":  true,
        "CanInspectSpyUsers":  true

      } 
    },

NOTE: For fast migration to new layout just copy old UsersAccessList and RolesAccessList content to new location

UsersAccessList and RolesAccessList acts as before limiting authentication access.
AuthGroupNamesFilter, AuthAllianceIdFilter and AuthCorporationIdFilter filters are additive. They are used to limit HR user access to view distinct members. Members are identified by their auth group name, alliance ID or corp ID according to mentioned params.
ApplyGroupFilterToAwaitingUsers will apply group name filtering to members awaiting auth (which is off by default)
Is_____UsersVisible gain access to members list of the specific section
CanSearchMail gain access to mail search functions
CanKickUsers gain access to ban hammer
CanMoveToSpies gain access to make-a-spy button for dumped users
CanInspect____Users gain access to detailed info about members of the specific section