Giter VIP home page Giter VIP logo

approova's People

Contributors

alex4108 avatar maddenfederico avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

maddenfederico

approova's Issues

[BUG] Bot doesn't set Approver/Public channels or roles

๐Ÿ›๐Ÿ“œ

  • What is the current behavior?
    When the guild owner uses the setApproverChannel, setApproverRole, setPublicChannel, or setPublicRole commands, there is no response from the bot and the respective values are not shown to be set upon using showConfig

  • What is the expected behavior?
    Upon the guild owner using one of the 4 aforementioned commands, the bot should respond with confirmation, and subsequent calls to showConfig should reflect the changes made

  • What is the motivation / use case for changing the behavior?
    Ensuring basic functionality

  • Please tell us about your environment:
    Publicly-hosted, guild ID 807116310378709022

    • Are you using the code self-hosted, or are you using the public bot?
    • Please provide your Guild Name or Guild ID, along with any additional names or IDs to aide in log searching
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

I cloned the repo and will see if I can't submit a PR with a fix tonight

[BUG] Cannot assign a role if the role name includes a space.

๐Ÿ›๐Ÿ“œ

  • What is the current behavior?

setApproverRole fails to locate the role if the role name includes a space, eg "Role Name". The function will assign "Role" to the value of roleName. The subsequent search by role name fails.

Support chat ref: https://discord.com/channels/742969076623605830/742969076623605834/963971271668949062

  • What is the expected behavior?

roleName var should contain all text after the command in the discord message so the lookup is successful.

  • What is the motivation / use case for changing the behavior?
    Support roles with spaces in the name

  • Please tell us about your environment:
    Public bot

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

make the search case insensitive while you're here, please.

[BUG] Refactor release pipeline

I totally botched the release tonight.

Refactor the pipeline

  • No more develop branch
  • No VERSION file
  • Trigger release by applying tag to master
  • Release will do the tests, re-tag the commit on DockerHub with release tag, update docker-compose.yml to the latest tag, and truncate the change log

[BUG] Unable to configure bot in new guilds

๐Ÿ›๐Ÿ“œ

  • What is the current behavior?

Bot won't respond to any configuration commands, *showConfig, *set(anything)

Ignoring exception in command setApproverChannel:
Traceback (most recent call last):
 File "/usr/local/lib/python3.7/site-packages/discord/ext/commands/core.py", line 85, in wrapped
 ret = await coro(*args, **kwargs)
 File "bot.py", line 233, in setApproverChannel
 if not is_owner(ctx.author):
 File "bot.py", line 71, in is_owner
 if member.id == member.guild.owner.id:
AttributeError: 'NoneType' object has no attribute 'id'
  • What is the expected behavior?

Configuration should be able to be completed.

  • What is the motivation / use case for changing the behavior?

Let the people use the app

  • Please tell us about your environment:

    • Are you using the code self-hosted, or are you using the public bot? Both
    • Please provide your Guild Name or Guild ID, along with any additional names or IDs to aide in log searching. Logs provided
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Post to support on exception

Is your feature request related to a problem? Please describe.

Users experience issues related to configuration. Post an alert to the support guild in the event of an exception for easier tracing.

Describe the solution you'd like

Write an exception handler that dispatches the stack trace to a private channel in support guild.

Describe alternatives you've considered

  • Continuing to examine logs from the control plane.
  • Using the control plane to report exceptions. Discord isn't a commonly integrated alerting tool.

Additional context

Exit Travis-CI for Github Actions

I want to move out of Travis-CI and into GitHub Actions to feel better integrations and less configuration overhead for the project.

GitHub Actions to Replace Travis-CI

PRs

  • Must pass go test
  • Must be able to docker build

Releases

  • All of PR criteria
  • Build container, push to repo
  • Push new manifest to AKS cluster

Readiness Probe

Let the app emit a readiness probe when it's connected to discord

Integration Testing

I want to put in some kind of integration test to ensure the bot can start up and perform basic functions.

Using three discord identities in a guild just for E2E tests:

  • ID1: User is the identity who joins the discord guild
  • ID2: Approver is the identity who approves the join request
  • ID3: Bot is the identity the bot is running as
  1. Compile & Build Container
  2. Assume Bot, and Approver joined with correct permissions
  3. User leaves guild if present
  4. User joins guild
  5. TEST: Using Approver identity, Check for Approval message from Bot identity
  6. Approver gives Emoji reaction
  7. TEST: Using Approver identity, check for approval confirmation from Bot identity. Check for expected role assignment of User
  8. User leaves guild
  9. Tests pass

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.