Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.20 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.24 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#1846
  +user: Proxies\__CG__\App\Entity\User {#1899 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "asklemmy@lemmy.world"
    +title: "asklemmy"
    +description: """
      A Fediverse community for open-ended, thought provoking questions\n
      -----------------------------------------------------------------\n
      \n
      ---\n
      \n
      **Rules: (interactive)**\n
      ------------------------\n
      \n
      ---\n
      \n
      1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
      \n
      ---\n
      \n
      2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
      \n
      ---\n
      \n
      3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
      \n
      ---\n
      \n
      4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
      \n
      ---\n
      \n
      5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
      \n
      ---\n
      \n
      Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
      \n
      Partnered Communities:\n
      ----------------------\n
      \n
      [Tech Support](/c/techsupport@lemmy.world)\n
      \n
      [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
      \n
      [You Should Know](/c/youshouldknow@lemmy.world)\n
      \n
      [Reddit](/c/reddit@lemmy.world)\n
      \n
      [Jokes](/c/jokes@lemmy.world)\n
      \n
      [Ask Ouija](/c/askouija@lemmy.world)\n
      \n
      ---\n
      \n
      Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
      \n
      ---\n
      \n
      ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1179
    +entryCommentCount: 42676
    +postCount: 3
    +postCommentCount: 67
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583245 {#299
      date: 2024-10-22 09:47:25.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 49
    +apId: "asklemmy@lemmy.world"
    +apProfileId: "https://lemmy.world/c/asklemmy"
    +apPublicUrl: "https://lemmy.world/c/asklemmy"
    +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "asklemmy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583301 {#293
      date: 2024-10-22 09:48:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697177027 {#292
      date: 2023-10-13 08:03:47.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
  +slug: "Hey-Lemmy-community-mods-what-would-a-useful-moderation-suite"
  +title: "Hey, Lemmy community mods, what would a useful moderation suite look like?"
  +url: null
  +body: """
    I’m a software developer, and I’m currently noodling around with the idea of a small suite of software to help me moderate a couple communities. Right now, the features I’m thinking of are:\n
    \n
    - Lemmy bot integration - the suite would require a bot account.\n
    - Some kind of content moderation (detecting things like spam, bigotry, etc.) to flag for me to review. Similar to the mod queue on that *other* site.\n
    - Automatic removal of certain kinds of content. I figure this would be configurable, like you could choose whether your community is for text posts, for links, for videos, for pics, or some combination of everything.\n
    - Domain blacklists and whitelists.\n
    - Moderation record keeping - in other words, a database to keep track of bans, warnings, reports, etc.\n
    - Canned automatic messages, which would be useful to send when banning, unbanning, responding to certain types of queries, and so on. So if you use the software to ban someone, they automatically receive a notification about what they were banned for, and for how long.\n
    - Scheduled automatic posts, which would be configured with *.md files for content. Good for things like monthly meta threads.\n
    - Controls for the bot via JSON objects in private messages, which would direct it to follow commands.\n
    - Some kind of configurable user commands for the bot. (Haven’t really figured out what this would look like yet.)\n
    - A simple web interface for all of this.\n
    \n
    That’s what I’m considering so far, but I’d love to get more ideas from the broader Lemmy community, and will post it on Github if it comes together.\n
    \n
    The technology stack I’m considering is:\n
    \n
    - Node/Typescript\n
    - The [lemmy-bot library](https://github.com/SleeplessOne1917/lemmy-bot)\n
    - Sequelize for the database\n
    - Nest.js for the web backend\n
    - [TBD] for the web frontend (I hate React, so not that. Probably either Vue or Angular)\n
    - Docker for containerization\n
    \n
    So what features would other Lemmy mods like to see in a Lemmy moderation suite like this?\n
    \n
    **Edit**: OK, I’ve had a chance to take a look at the code for the existing Lemmy “automoderator” bot that’s in progress, and I think I’m still leaning towards working on one of my own, partly because it looks like there’s a real desire for Lemmy bots that use Node. I think there’s room for two or more in the fediverse. And hopefully, we can all learn from each other. I know I’m bookmarking the Python bot and watching to see how it improves.\n
    \n
    Anyway, I’d like to thank everyone for the suggestions! I’m hoping to get started on it this weekend. We’ll see how it goes.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 0
  +favouriteCount: 1
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1691557767 {#1861
    date: 2023-08-09 07:09:27.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1949 …}
  +votes: Doctrine\ORM\PersistentCollection {#1894 …}
  +reports: Doctrine\ORM\PersistentCollection {#2402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
  +badges: Doctrine\ORM\PersistentCollection {#1375 …}
  +children: []
  -id: 6713
  -titleTs: "'communiti':3 'hey':1 'lemmi':2 'like':12 'look':11 'mod':4 'moder':9 'suit':10 'use':8 'would':6"
  -bodyTs: "'/sleeplessone1917/lemmy-bot)':283 'account':46 'angular':308 'anyway':419 'around':11 'automat':73,129,159,174 'automoder':347 'backend':292 'ban':124,138,156,167 'bigotri':56 'blacklist':109 'bookmark':408 'bot':38,45,195,217,279,348,379,411 'broader':255 'can':128 'certain':76,142 'chanc':335 'choos':89 'code':342 'combin':105 'come':266 'command':208,214 'communiti':27,92,257 'configur':85,179,212 'consid':242,273 'container':311 'content':50,79,184 'control':192 'could':88 'coupl':26 'current':9 'd':247,421 'databas':119,287 'desir':376 'detect':52 'develop':5 'direct':204 'docker':309 'domain':108 'edit':329 'either':305 'etc':57,127 'everyon':425 'everyth':107 'exist':345 'far':244 'featur':31,314 'fedivers':394 'figur':81,221 'file':182 'flag':59 'follow':207 'frontend':297 'get':250,433 'github':263 'github.com':282 'github.com/sleeplessone1917/lemmy-bot)':281 'goe':444 'good':185 'hate':299 'haven':218 'help':22 'hope':396,431 'idea':14,252 'improv':418 'integr':39 'interfac':232 'json':197 'keep':114,121 'kind':48,77,210 'know':405 'lean':359 'learn':400 'lemmi':37,256,278,317,324,346,378 'lemmy-bot':277 'librari':280 'like':54,86,188,227,319,327,371,422 'link':98 'll':440 'long':172 'look':226,339,370 'love':248 'm':2,8,33,241,272,357,407,430 'md':181 'messag':130,201 'meta':190 'mod':67,318 'moder':24,51,112,325 'month':189 'nest.js':288 'node':382 'node/typescript':275 'noodl':10 'notif':162 'object':198 'ok':330 'one':363 'part':367 'pic':102 'post':96,175,260 'privat':200 'probabl':304 'progress':352 'python':410 'queri':145 'queue':68 'react':300 'real':375 'realli':220 'receiv':160 'record':113 'remov':74 'report':126 'requir':43 'respond':140 'review':63 'right':28 'room':387 'schedul':173 'see':321,415,441 'send':136 'sequel':284 'similar':64 'simpl':230 'site':72 'small':17 'softwar':4,20,154 'someon':157 'spam':55 'stack':270 'start':434 'still':358 'suggest':428 'suit':18,41,326 'take':337 'tbd':293 'technolog':269 'text':95 'thank':424 'thing':53,187 'think':34,355,384 'thread':191 'togeth':267 'toward':360 'track':122 'two':389 'type':143 'unban':139 'use':134,152,381 'user':213 've':332 'via':196 'video':100 'vue':306 'warn':125 'watch':413 'web':231,291,296 'weekend':438 'whether':90 'whitelist':111 'word':117 'work':361 'would':42,83,132,177,203,225,315 'yet':228"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1691557767
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/2901032"
  +editedAt: null
  +createdAt: DateTimeImmutable @1691557767 {#75
    date: 2023-08-09 07:09:27.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#1846
  +user: Proxies\__CG__\App\Entity\User {#1899 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "asklemmy@lemmy.world"
    +title: "asklemmy"
    +description: """
      A Fediverse community for open-ended, thought provoking questions\n
      -----------------------------------------------------------------\n
      \n
      ---\n
      \n
      **Rules: (interactive)**\n
      ------------------------\n
      \n
      ---\n
      \n
      1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
      \n
      ---\n
      \n
      2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
      \n
      ---\n
      \n
      3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
      \n
      ---\n
      \n
      4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
      \n
      ---\n
      \n
      5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
      \n
      ---\n
      \n
      Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
      \n
      Partnered Communities:\n
      ----------------------\n
      \n
      [Tech Support](/c/techsupport@lemmy.world)\n
      \n
      [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
      \n
      [You Should Know](/c/youshouldknow@lemmy.world)\n
      \n
      [Reddit](/c/reddit@lemmy.world)\n
      \n
      [Jokes](/c/jokes@lemmy.world)\n
      \n
      [Ask Ouija](/c/askouija@lemmy.world)\n
      \n
      ---\n
      \n
      Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
      \n
      ---\n
      \n
      ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1179
    +entryCommentCount: 42676
    +postCount: 3
    +postCommentCount: 67
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583245 {#299
      date: 2024-10-22 09:47:25.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 49
    +apId: "asklemmy@lemmy.world"
    +apProfileId: "https://lemmy.world/c/asklemmy"
    +apPublicUrl: "https://lemmy.world/c/asklemmy"
    +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "asklemmy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583301 {#293
      date: 2024-10-22 09:48:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697177027 {#292
      date: 2023-10-13 08:03:47.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
  +slug: "Hey-Lemmy-community-mods-what-would-a-useful-moderation-suite"
  +title: "Hey, Lemmy community mods, what would a useful moderation suite look like?"
  +url: null
  +body: """
    I’m a software developer, and I’m currently noodling around with the idea of a small suite of software to help me moderate a couple communities. Right now, the features I’m thinking of are:\n
    \n
    - Lemmy bot integration - the suite would require a bot account.\n
    - Some kind of content moderation (detecting things like spam, bigotry, etc.) to flag for me to review. Similar to the mod queue on that *other* site.\n
    - Automatic removal of certain kinds of content. I figure this would be configurable, like you could choose whether your community is for text posts, for links, for videos, for pics, or some combination of everything.\n
    - Domain blacklists and whitelists.\n
    - Moderation record keeping - in other words, a database to keep track of bans, warnings, reports, etc.\n
    - Canned automatic messages, which would be useful to send when banning, unbanning, responding to certain types of queries, and so on. So if you use the software to ban someone, they automatically receive a notification about what they were banned for, and for how long.\n
    - Scheduled automatic posts, which would be configured with *.md files for content. Good for things like monthly meta threads.\n
    - Controls for the bot via JSON objects in private messages, which would direct it to follow commands.\n
    - Some kind of configurable user commands for the bot. (Haven’t really figured out what this would look like yet.)\n
    - A simple web interface for all of this.\n
    \n
    That’s what I’m considering so far, but I’d love to get more ideas from the broader Lemmy community, and will post it on Github if it comes together.\n
    \n
    The technology stack I’m considering is:\n
    \n
    - Node/Typescript\n
    - The [lemmy-bot library](https://github.com/SleeplessOne1917/lemmy-bot)\n
    - Sequelize for the database\n
    - Nest.js for the web backend\n
    - [TBD] for the web frontend (I hate React, so not that. Probably either Vue or Angular)\n
    - Docker for containerization\n
    \n
    So what features would other Lemmy mods like to see in a Lemmy moderation suite like this?\n
    \n
    **Edit**: OK, I’ve had a chance to take a look at the code for the existing Lemmy “automoderator” bot that’s in progress, and I think I’m still leaning towards working on one of my own, partly because it looks like there’s a real desire for Lemmy bots that use Node. I think there’s room for two or more in the fediverse. And hopefully, we can all learn from each other. I know I’m bookmarking the Python bot and watching to see how it improves.\n
    \n
    Anyway, I’d like to thank everyone for the suggestions! I’m hoping to get started on it this weekend. We’ll see how it goes.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 0
  +favouriteCount: 1
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1691557767 {#1861
    date: 2023-08-09 07:09:27.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1949 …}
  +votes: Doctrine\ORM\PersistentCollection {#1894 …}
  +reports: Doctrine\ORM\PersistentCollection {#2402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
  +badges: Doctrine\ORM\PersistentCollection {#1375 …}
  +children: []
  -id: 6713
  -titleTs: "'communiti':3 'hey':1 'lemmi':2 'like':12 'look':11 'mod':4 'moder':9 'suit':10 'use':8 'would':6"
  -bodyTs: "'/sleeplessone1917/lemmy-bot)':283 'account':46 'angular':308 'anyway':419 'around':11 'automat':73,129,159,174 'automoder':347 'backend':292 'ban':124,138,156,167 'bigotri':56 'blacklist':109 'bookmark':408 'bot':38,45,195,217,279,348,379,411 'broader':255 'can':128 'certain':76,142 'chanc':335 'choos':89 'code':342 'combin':105 'come':266 'command':208,214 'communiti':27,92,257 'configur':85,179,212 'consid':242,273 'container':311 'content':50,79,184 'control':192 'could':88 'coupl':26 'current':9 'd':247,421 'databas':119,287 'desir':376 'detect':52 'develop':5 'direct':204 'docker':309 'domain':108 'edit':329 'either':305 'etc':57,127 'everyon':425 'everyth':107 'exist':345 'far':244 'featur':31,314 'fedivers':394 'figur':81,221 'file':182 'flag':59 'follow':207 'frontend':297 'get':250,433 'github':263 'github.com':282 'github.com/sleeplessone1917/lemmy-bot)':281 'goe':444 'good':185 'hate':299 'haven':218 'help':22 'hope':396,431 'idea':14,252 'improv':418 'integr':39 'interfac':232 'json':197 'keep':114,121 'kind':48,77,210 'know':405 'lean':359 'learn':400 'lemmi':37,256,278,317,324,346,378 'lemmy-bot':277 'librari':280 'like':54,86,188,227,319,327,371,422 'link':98 'll':440 'long':172 'look':226,339,370 'love':248 'm':2,8,33,241,272,357,407,430 'md':181 'messag':130,201 'meta':190 'mod':67,318 'moder':24,51,112,325 'month':189 'nest.js':288 'node':382 'node/typescript':275 'noodl':10 'notif':162 'object':198 'ok':330 'one':363 'part':367 'pic':102 'post':96,175,260 'privat':200 'probabl':304 'progress':352 'python':410 'queri':145 'queue':68 'react':300 'real':375 'realli':220 'receiv':160 'record':113 'remov':74 'report':126 'requir':43 'respond':140 'review':63 'right':28 'room':387 'schedul':173 'see':321,415,441 'send':136 'sequel':284 'similar':64 'simpl':230 'site':72 'small':17 'softwar':4,20,154 'someon':157 'spam':55 'stack':270 'start':434 'still':358 'suggest':428 'suit':18,41,326 'take':337 'tbd':293 'technolog':269 'text':95 'thank':424 'thing':53,187 'think':34,355,384 'thread':191 'togeth':267 'toward':360 'track':122 'two':389 'type':143 'unban':139 'use':134,152,381 'user':213 've':332 'via':196 'video':100 'vue':306 'warn':125 'watch':413 'web':231,291,296 'weekend':438 'whether':90 'whitelist':111 'word':117 'work':361 'would':42,83,132,177,203,225,315 'yet':228"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1691557767
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/2901032"
  +editedAt: null
  +createdAt: DateTimeImmutable @1691557767 {#75
    date: 2023-08-09 07:09:27.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#1846
  +user: Proxies\__CG__\App\Entity\User {#1899 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "asklemmy@lemmy.world"
    +title: "asklemmy"
    +description: """
      A Fediverse community for open-ended, thought provoking questions\n
      -----------------------------------------------------------------\n
      \n
      ---\n
      \n
      **Rules: (interactive)**\n
      ------------------------\n
      \n
      ---\n
      \n
      1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
      \n
      ---\n
      \n
      2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
      \n
      ---\n
      \n
      3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
      \n
      ---\n
      \n
      4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
      \n
      ---\n
      \n
      5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
      \n
      ---\n
      \n
      Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
      \n
      Partnered Communities:\n
      ----------------------\n
      \n
      [Tech Support](/c/techsupport@lemmy.world)\n
      \n
      [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
      \n
      [You Should Know](/c/youshouldknow@lemmy.world)\n
      \n
      [Reddit](/c/reddit@lemmy.world)\n
      \n
      [Jokes](/c/jokes@lemmy.world)\n
      \n
      [Ask Ouija](/c/askouija@lemmy.world)\n
      \n
      ---\n
      \n
      Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
      \n
      ---\n
      \n
      ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1179
    +entryCommentCount: 42676
    +postCount: 3
    +postCommentCount: 67
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583245 {#299
      date: 2024-10-22 09:47:25.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 49
    +apId: "asklemmy@lemmy.world"
    +apProfileId: "https://lemmy.world/c/asklemmy"
    +apPublicUrl: "https://lemmy.world/c/asklemmy"
    +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "asklemmy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583301 {#293
      date: 2024-10-22 09:48:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697177027 {#292
      date: 2023-10-13 08:03:47.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
  +slug: "Hey-Lemmy-community-mods-what-would-a-useful-moderation-suite"
  +title: "Hey, Lemmy community mods, what would a useful moderation suite look like?"
  +url: null
  +body: """
    I’m a software developer, and I’m currently noodling around with the idea of a small suite of software to help me moderate a couple communities. Right now, the features I’m thinking of are:\n
    \n
    - Lemmy bot integration - the suite would require a bot account.\n
    - Some kind of content moderation (detecting things like spam, bigotry, etc.) to flag for me to review. Similar to the mod queue on that *other* site.\n
    - Automatic removal of certain kinds of content. I figure this would be configurable, like you could choose whether your community is for text posts, for links, for videos, for pics, or some combination of everything.\n
    - Domain blacklists and whitelists.\n
    - Moderation record keeping - in other words, a database to keep track of bans, warnings, reports, etc.\n
    - Canned automatic messages, which would be useful to send when banning, unbanning, responding to certain types of queries, and so on. So if you use the software to ban someone, they automatically receive a notification about what they were banned for, and for how long.\n
    - Scheduled automatic posts, which would be configured with *.md files for content. Good for things like monthly meta threads.\n
    - Controls for the bot via JSON objects in private messages, which would direct it to follow commands.\n
    - Some kind of configurable user commands for the bot. (Haven’t really figured out what this would look like yet.)\n
    - A simple web interface for all of this.\n
    \n
    That’s what I’m considering so far, but I’d love to get more ideas from the broader Lemmy community, and will post it on Github if it comes together.\n
    \n
    The technology stack I’m considering is:\n
    \n
    - Node/Typescript\n
    - The [lemmy-bot library](https://github.com/SleeplessOne1917/lemmy-bot)\n
    - Sequelize for the database\n
    - Nest.js for the web backend\n
    - [TBD] for the web frontend (I hate React, so not that. Probably either Vue or Angular)\n
    - Docker for containerization\n
    \n
    So what features would other Lemmy mods like to see in a Lemmy moderation suite like this?\n
    \n
    **Edit**: OK, I’ve had a chance to take a look at the code for the existing Lemmy “automoderator” bot that’s in progress, and I think I’m still leaning towards working on one of my own, partly because it looks like there’s a real desire for Lemmy bots that use Node. I think there’s room for two or more in the fediverse. And hopefully, we can all learn from each other. I know I’m bookmarking the Python bot and watching to see how it improves.\n
    \n
    Anyway, I’d like to thank everyone for the suggestions! I’m hoping to get started on it this weekend. We’ll see how it goes.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 0
  +favouriteCount: 1
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1691557767 {#1861
    date: 2023-08-09 07:09:27.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1949 …}
  +votes: Doctrine\ORM\PersistentCollection {#1894 …}
  +reports: Doctrine\ORM\PersistentCollection {#2402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
  +badges: Doctrine\ORM\PersistentCollection {#1375 …}
  +children: []
  -id: 6713
  -titleTs: "'communiti':3 'hey':1 'lemmi':2 'like':12 'look':11 'mod':4 'moder':9 'suit':10 'use':8 'would':6"
  -bodyTs: "'/sleeplessone1917/lemmy-bot)':283 'account':46 'angular':308 'anyway':419 'around':11 'automat':73,129,159,174 'automoder':347 'backend':292 'ban':124,138,156,167 'bigotri':56 'blacklist':109 'bookmark':408 'bot':38,45,195,217,279,348,379,411 'broader':255 'can':128 'certain':76,142 'chanc':335 'choos':89 'code':342 'combin':105 'come':266 'command':208,214 'communiti':27,92,257 'configur':85,179,212 'consid':242,273 'container':311 'content':50,79,184 'control':192 'could':88 'coupl':26 'current':9 'd':247,421 'databas':119,287 'desir':376 'detect':52 'develop':5 'direct':204 'docker':309 'domain':108 'edit':329 'either':305 'etc':57,127 'everyon':425 'everyth':107 'exist':345 'far':244 'featur':31,314 'fedivers':394 'figur':81,221 'file':182 'flag':59 'follow':207 'frontend':297 'get':250,433 'github':263 'github.com':282 'github.com/sleeplessone1917/lemmy-bot)':281 'goe':444 'good':185 'hate':299 'haven':218 'help':22 'hope':396,431 'idea':14,252 'improv':418 'integr':39 'interfac':232 'json':197 'keep':114,121 'kind':48,77,210 'know':405 'lean':359 'learn':400 'lemmi':37,256,278,317,324,346,378 'lemmy-bot':277 'librari':280 'like':54,86,188,227,319,327,371,422 'link':98 'll':440 'long':172 'look':226,339,370 'love':248 'm':2,8,33,241,272,357,407,430 'md':181 'messag':130,201 'meta':190 'mod':67,318 'moder':24,51,112,325 'month':189 'nest.js':288 'node':382 'node/typescript':275 'noodl':10 'notif':162 'object':198 'ok':330 'one':363 'part':367 'pic':102 'post':96,175,260 'privat':200 'probabl':304 'progress':352 'python':410 'queri':145 'queue':68 'react':300 'real':375 'realli':220 'receiv':160 'record':113 'remov':74 'report':126 'requir':43 'respond':140 'review':63 'right':28 'room':387 'schedul':173 'see':321,415,441 'send':136 'sequel':284 'similar':64 'simpl':230 'site':72 'small':17 'softwar':4,20,154 'someon':157 'spam':55 'stack':270 'start':434 'still':358 'suggest':428 'suit':18,41,326 'take':337 'tbd':293 'technolog':269 'text':95 'thank':424 'thing':53,187 'think':34,355,384 'thread':191 'togeth':267 'toward':360 'track':122 'two':389 'type':143 'unban':139 'use':134,152,381 'user':213 've':332 'via':196 'video':100 'vue':306 'warn':125 'watch':413 'web':231,291,296 'weekend':438 'whether':90 'whitelist':111 'word':117 'work':361 'would':42,83,132,177,203,225,315 'yet':228"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1691557767
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/2901032"
  +editedAt: null
  +createdAt: DateTimeImmutable @1691557767 {#75
    date: 2023-08-09 07:09:27.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#289
  +icon: Proxies\__CG__\App\Entity\Image {#270 …}
  +name: "asklemmy@lemmy.world"
  +title: "asklemmy"
  +description: """
    A Fediverse community for open-ended, thought provoking questions\n
    -----------------------------------------------------------------\n
    \n
    ---\n
    \n
    **Rules: (interactive)**\n
    ------------------------\n
    \n
    ---\n
    \n
    1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
    \n
    ---\n
    \n
    2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
    \n
    ---\n
    \n
    3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
    \n
    ---\n
    \n
    4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
    \n
    ---\n
    \n
    5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
    \n
    ---\n
    \n
    Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
    \n
    Partnered Communities:\n
    ----------------------\n
    \n
    [Tech Support](/c/techsupport@lemmy.world)\n
    \n
    [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
    \n
    [You Should Know](/c/youshouldknow@lemmy.world)\n
    \n
    [Reddit](/c/reddit@lemmy.world)\n
    \n
    [Jokes](/c/jokes@lemmy.world)\n
    \n
    [Ask Ouija](/c/askouija@lemmy.world)\n
    \n
    ---\n
    \n
    Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
    \n
    ---\n
    \n
    ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 1179
  +entryCommentCount: 42676
  +postCount: 3
  +postCommentCount: 67
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583245 {#299
    date: 2024-10-22 09:47:25.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#261 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
  +entries: Doctrine\ORM\PersistentCollection {#204 …}
  +posts: Doctrine\ORM\PersistentCollection {#162 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
  +bans: Doctrine\ORM\PersistentCollection {#141 …}
  +reports: Doctrine\ORM\PersistentCollection {#127 …}
  +badges: Doctrine\ORM\PersistentCollection {#105 …}
  +logs: Doctrine\ORM\PersistentCollection {#95 …}
  +awards: Doctrine\ORM\PersistentCollection {#84 …}
  +categories: Doctrine\ORM\PersistentCollection {#71 …}
  -id: 49
  +apId: "asklemmy@lemmy.world"
  +apProfileId: "https://lemmy.world/c/asklemmy"
  +apPublicUrl: "https://lemmy.world/c/asklemmy"
  +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
  +apInboxUrl: "https://lemmy.world/inbox"
  +apDomain: "lemmy.world"
  +apPreferredUsername: "asklemmy"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729583301 {#293
    date: 2024-10-22 09:48:21.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1697177027 {#292
    date: 2023-10-13 08:03:47.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details