Skills hivebrite-by-altf1be
Hivebrite Admin API CLI — users, companies, events, groups, donations, memberships, emailings, mentoring, news, projects, media center, forums, and more. OAuth2 auth (password grant or refresh token) or bearer token.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/abdelkrim/hivebrite-by-altf1be" ~/.claude/skills/openclaw-skills-hivebrite-by-altf1be && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/abdelkrim/hivebrite-by-altf1be" ~/.openclaw/skills/openclaw-skills-hivebrite-by-altf1be && rm -rf "$T"
manifest:
skills/abdelkrim/hivebrite-by-altf1be/SKILL.mdsource content
Hivebrite by @altf1be
Full Hivebrite Admin API CLI covering users, companies, events, groups, donations, memberships, emailings, mentoring, news, projects, media center, forums, admins, approvals, roles, receipts, categories, comments, posts, audit logs, engagement scoring, payment accounts, network settings, and more.
Setup
- Obtain API credentials from your Hivebrite admin panel (Settings > Integrations or API).
- Set environment variables (or create
in.env
):{baseDir}
# Required — your Hivebrite instance URL HIVEBRITE_BASE_URL=https://yourcommunity.hivebrite.com # Auth Option 1: Bearer token (simplest) HIVEBRITE_ACCESS_TOKEN=your-access-token # Auth Option 2: OAuth2 password grant (set all four): # HIVEBRITE_CLIENT_ID=your-client-id # HIVEBRITE_CLIENT_SECRET=your-client-secret # HIVEBRITE_ADMIN_EMAIL=admin@example.com # HIVEBRITE_ADMIN_PASSWORD=your-password # Auth Option 3: OAuth2 refresh token grant (set all three): # HIVEBRITE_CLIENT_ID=your-client-id # HIVEBRITE_CLIENT_SECRET=your-client-secret # HIVEBRITE_REFRESH_TOKEN=your-refresh-token # Optional # HIVEBRITE_MAX_RESULTS=25
- Install dependencies:
cd {baseDir} && npm install
API Info
- Base URL:
(some endpoints use v1 or v3){HIVEBRITE_BASE_URL}/api/admin/v2/ - Auth: OAuth2 (
orgrant_type=password
) or Bearer tokengrant_type=refresh_token - Pagination: RFC-5988 Link headers. Params:
(default 1),page
(default 25, max 100)per_page - Rate limits: 300 requests/minute. Max 15 errors (5xx) per minute before throttling.
Commands
Me
node {baseDir}/scripts/hivebrite.mjs me
Settings
node {baseDir}/scripts/hivebrite.mjs settings customizable-attributes node {baseDir}/scripts/hivebrite.mjs settings fields-of-study node {baseDir}/scripts/hivebrite.mjs settings industries node {baseDir}/scripts/hivebrite.mjs settings job-functions node {baseDir}/scripts/hivebrite.mjs settings currencies
Network
node {baseDir}/scripts/hivebrite.mjs network info node {baseDir}/scripts/hivebrite.mjs network sub-networks node {baseDir}/scripts/hivebrite.mjs network citizenships
Users
# List / search users node {baseDir}/scripts/hivebrite.mjs users list node {baseDir}/scripts/hivebrite.mjs users list --query "john" # CRUD node {baseDir}/scripts/hivebrite.mjs users read --id 123 node {baseDir}/scripts/hivebrite.mjs users create --email "jane@example.com" --firstname Jane --lastname Doe node {baseDir}/scripts/hivebrite.mjs users update --id 123 --phone "+1234567890" node {baseDir}/scripts/hivebrite.mjs users delete --id 123 --confirm # Sub-resources node {baseDir}/scripts/hivebrite.mjs users experiences --user-id 123 node {baseDir}/scripts/hivebrite.mjs users educations --user-id 123 node {baseDir}/scripts/hivebrite.mjs users notification-settings --user-id 123 node {baseDir}/scripts/hivebrite.mjs users postal-addresses --user-id 123 node {baseDir}/scripts/hivebrite.mjs users group-membership --user-id 123 # Special actions node {baseDir}/scripts/hivebrite.mjs users find-by-field --field email --value "jane@example.com" node {baseDir}/scripts/hivebrite.mjs users notify --id 123 --subject "Hello" --message "Welcome!" node {baseDir}/scripts/hivebrite.mjs users activate --id 123
Experiences (standalone)
node {baseDir}/scripts/hivebrite.mjs experiences list node {baseDir}/scripts/hivebrite.mjs experiences read --id 456 node {baseDir}/scripts/hivebrite.mjs experiences create --user-id 123 --title "Engineer" --organization "Acme" node {baseDir}/scripts/hivebrite.mjs experiences update --id 456 --title "Senior Engineer" node {baseDir}/scripts/hivebrite.mjs experiences delete --id 456 --confirm node {baseDir}/scripts/hivebrite.mjs experiences customizable-attributes
Educations (standalone)
node {baseDir}/scripts/hivebrite.mjs educations list node {baseDir}/scripts/hivebrite.mjs educations read --id 789 node {baseDir}/scripts/hivebrite.mjs educations create --user-id 123 --degree "MSc" --school "MIT" node {baseDir}/scripts/hivebrite.mjs educations update --id 789 --field "Computer Science" node {baseDir}/scripts/hivebrite.mjs educations delete --id 789 --confirm node {baseDir}/scripts/hivebrite.mjs educations customizable-attributes
Emailings
# Categories node {baseDir}/scripts/hivebrite.mjs emailings categories list node {baseDir}/scripts/hivebrite.mjs emailings categories read --id 10 node {baseDir}/scripts/hivebrite.mjs emailings categories create --name "Newsletter" node {baseDir}/scripts/hivebrite.mjs emailings categories update --id 10 --name "Monthly Newsletter" node {baseDir}/scripts/hivebrite.mjs emailings categories delete --id 10 --confirm # Campaigns node {baseDir}/scripts/hivebrite.mjs emailings campaigns list node {baseDir}/scripts/hivebrite.mjs emailings campaigns read --id 20 node {baseDir}/scripts/hivebrite.mjs emailings campaigns create --subject "Spring Update" --name "Spring 2026" node {baseDir}/scripts/hivebrite.mjs emailings campaigns update --id 20 --subject "Updated Subject" node {baseDir}/scripts/hivebrite.mjs emailings campaigns delete --id 20 --confirm node {baseDir}/scripts/hivebrite.mjs emailings campaigns send --id 20
Groups
# Groups CRUD node {baseDir}/scripts/hivebrite.mjs groups list node {baseDir}/scripts/hivebrite.mjs groups read --id 30 node {baseDir}/scripts/hivebrite.mjs groups create --name "Alumni Paris" node {baseDir}/scripts/hivebrite.mjs groups update --id 30 --description "Paris chapter" node {baseDir}/scripts/hivebrite.mjs groups delete --id 30 --confirm # Group users node {baseDir}/scripts/hivebrite.mjs groups users list --group-id 30 node {baseDir}/scripts/hivebrite.mjs groups users add --group-id 30 --user-id 123 node {baseDir}/scripts/hivebrite.mjs groups users remove --group-id 30 --user-id 123 --confirm # Topic categories node {baseDir}/scripts/hivebrite.mjs groups topic-categories --group-id 30
Companies
node {baseDir}/scripts/hivebrite.mjs companies list node {baseDir}/scripts/hivebrite.mjs companies list --query "Acme" node {baseDir}/scripts/hivebrite.mjs companies read --id 40 node {baseDir}/scripts/hivebrite.mjs companies create --name "Acme Corp" --industry "Technology" node {baseDir}/scripts/hivebrite.mjs companies update --id 40 --website "https://acme.com" node {baseDir}/scripts/hivebrite.mjs companies delete --id 40 --confirm
News
# Categories node {baseDir}/scripts/hivebrite.mjs news categories list node {baseDir}/scripts/hivebrite.mjs news categories read --id 50 node {baseDir}/scripts/hivebrite.mjs news categories create --name "Announcements" node {baseDir}/scripts/hivebrite.mjs news categories update --id 50 --name "Official News" node {baseDir}/scripts/hivebrite.mjs news categories delete --id 50 --confirm # Posts node {baseDir}/scripts/hivebrite.mjs news posts list node {baseDir}/scripts/hivebrite.mjs news posts read --id 60 node {baseDir}/scripts/hivebrite.mjs news posts create --title "Welcome!" --body "<p>Hello world</p>" node {baseDir}/scripts/hivebrite.mjs news posts update --id 60 --title "Updated Title" node {baseDir}/scripts/hivebrite.mjs news posts delete --id 60 --confirm node {baseDir}/scripts/hivebrite.mjs news posts duplicate --id 60
Roles
node {baseDir}/scripts/hivebrite.mjs roles list node {baseDir}/scripts/hivebrite.mjs roles read --id 70
Business Opportunities
node {baseDir}/scripts/hivebrite.mjs business-opportunities list node {baseDir}/scripts/hivebrite.mjs business-opportunities read --id 80 node {baseDir}/scripts/hivebrite.mjs business-opportunities create --title "Senior Dev" --type "job" --company "Acme" node {baseDir}/scripts/hivebrite.mjs business-opportunities update --id 80 --status "closed" node {baseDir}/scripts/hivebrite.mjs business-opportunities delete --id 80 --confirm
Receipts
node {baseDir}/scripts/hivebrite.mjs receipts list node {baseDir}/scripts/hivebrite.mjs receipts read --id 90 node {baseDir}/scripts/hivebrite.mjs receipts update --id 90 --status "paid"
Pages (customizable)
node {baseDir}/scripts/hivebrite.mjs pages list node {baseDir}/scripts/hivebrite.mjs pages read --id 100 node {baseDir}/scripts/hivebrite.mjs pages create --title "About Us" node {baseDir}/scripts/hivebrite.mjs pages update --id 100 --title "About Our Community" node {baseDir}/scripts/hivebrite.mjs pages delete --id 100 --confirm
Approvals
node {baseDir}/scripts/hivebrite.mjs approvals list node {baseDir}/scripts/hivebrite.mjs approvals read --id 110 node {baseDir}/scripts/hivebrite.mjs approvals approve --id 110 node {baseDir}/scripts/hivebrite.mjs approvals reject --id 110 node {baseDir}/scripts/hivebrite.mjs approvals link-to-user --id 110 --user-id 123 node {baseDir}/scripts/hivebrite.mjs approvals delete --id 110 --confirm
Versions (deleted items)
node {baseDir}/scripts/hivebrite.mjs versions list node {baseDir}/scripts/hivebrite.mjs versions list --item-type "User"
Comments (v3 API)
node {baseDir}/scripts/hivebrite.mjs comments list node {baseDir}/scripts/hivebrite.mjs comments list --commentable-type "News" --commentable-id 60 node {baseDir}/scripts/hivebrite.mjs comments read --id 120 node {baseDir}/scripts/hivebrite.mjs comments create --body "Great post!" --commentable-type "News" --commentable-id 60 node {baseDir}/scripts/hivebrite.mjs comments update --id 120 --body "Updated comment" node {baseDir}/scripts/hivebrite.mjs comments delete --id 120 --confirm
Posts (v3 API)
node {baseDir}/scripts/hivebrite.mjs posts list node {baseDir}/scripts/hivebrite.mjs posts read --id 130 node {baseDir}/scripts/hivebrite.mjs posts create --body "Hello community!" --group-id 30 node {baseDir}/scripts/hivebrite.mjs posts update --id 130 --body "Updated post" node {baseDir}/scripts/hivebrite.mjs posts delete --id 130 --confirm
Events
# Events CRUD node {baseDir}/scripts/hivebrite.mjs events list node {baseDir}/scripts/hivebrite.mjs events read --id 140 node {baseDir}/scripts/hivebrite.mjs events create --name "Annual Gala" --starts-at "2026-06-15T18:00:00Z" --location "Brussels" node {baseDir}/scripts/hivebrite.mjs events update --id 140 --capacity 200 node {baseDir}/scripts/hivebrite.mjs events delete --id 140 --confirm node {baseDir}/scripts/hivebrite.mjs events cancel --id 140 node {baseDir}/scripts/hivebrite.mjs events duplicate --id 140 node {baseDir}/scripts/hivebrite.mjs events customizable-attributes # Tickets node {baseDir}/scripts/hivebrite.mjs events tickets list --event-id 140 node {baseDir}/scripts/hivebrite.mjs events tickets read --event-id 140 --id 1 node {baseDir}/scripts/hivebrite.mjs events tickets create --event-id 140 --name "VIP" --price 50 --currency EUR node {baseDir}/scripts/hivebrite.mjs events tickets update --event-id 140 --id 1 --price 75 node {baseDir}/scripts/hivebrite.mjs events tickets delete --event-id 140 --id 1 --confirm # Bookings node {baseDir}/scripts/hivebrite.mjs events bookings list --event-id 140 node {baseDir}/scripts/hivebrite.mjs events bookings read --event-id 140 --id 2 node {baseDir}/scripts/hivebrite.mjs events bookings create --event-id 140 --user-id 123 --ticket-id 1 node {baseDir}/scripts/hivebrite.mjs events bookings update --event-id 140 --id 2 --status "confirmed" node {baseDir}/scripts/hivebrite.mjs events bookings delete --event-id 140 --id 2 --confirm # Attendees node {baseDir}/scripts/hivebrite.mjs events attendees list --event-id 140 node {baseDir}/scripts/hivebrite.mjs events attendees read --event-id 140 --id 3 node {baseDir}/scripts/hivebrite.mjs events attendees create --event-id 140 --user-id 123 node {baseDir}/scripts/hivebrite.mjs events attendees update --event-id 140 --id 3 --checked-in true node {baseDir}/scripts/hivebrite.mjs events attendees delete --event-id 140 --id 3 --confirm # RSVPs node {baseDir}/scripts/hivebrite.mjs events rsvps list --event-id 140 node {baseDir}/scripts/hivebrite.mjs events rsvps read --event-id 140 --id 4 node {baseDir}/scripts/hivebrite.mjs events rsvps create --event-id 140 --user-id 123 --status "attending" node {baseDir}/scripts/hivebrite.mjs events rsvps update --event-id 140 --id 4 --status "declined" node {baseDir}/scripts/hivebrite.mjs events rsvps delete --event-id 140 --id 4 --confirm
Projects (Ventures)
node {baseDir}/scripts/hivebrite.mjs projects list node {baseDir}/scripts/hivebrite.mjs projects read --id 150 node {baseDir}/scripts/hivebrite.mjs projects create --name "Innovation Lab" node {baseDir}/scripts/hivebrite.mjs projects update --id 150 --status "active" node {baseDir}/scripts/hivebrite.mjs projects delete --id 150 --confirm # Team members node {baseDir}/scripts/hivebrite.mjs projects team-members list --project-id 150 node {baseDir}/scripts/hivebrite.mjs projects team-members add --project-id 150 --user-id 123 --role "lead" node {baseDir}/scripts/hivebrite.mjs projects team-members update --project-id 150 --id 5 --role "member" node {baseDir}/scripts/hivebrite.mjs projects team-members remove --project-id 150 --id 5 --confirm
Memberships
# Types node {baseDir}/scripts/hivebrite.mjs memberships types list node {baseDir}/scripts/hivebrite.mjs memberships types read --id 160 node {baseDir}/scripts/hivebrite.mjs memberships types create --name "Premium" --price 99 --currency EUR node {baseDir}/scripts/hivebrite.mjs memberships types update --id 160 --price 149 node {baseDir}/scripts/hivebrite.mjs memberships types delete --id 160 --confirm # Subscriptions node {baseDir}/scripts/hivebrite.mjs memberships subscriptions list node {baseDir}/scripts/hivebrite.mjs memberships subscriptions list --user-id 123 node {baseDir}/scripts/hivebrite.mjs memberships subscriptions read --id 170 node {baseDir}/scripts/hivebrite.mjs memberships subscriptions create --user-id 123 --type-id 160 node {baseDir}/scripts/hivebrite.mjs memberships subscriptions update --id 170 --status "active" node {baseDir}/scripts/hivebrite.mjs memberships subscriptions delete --id 170 --confirm # Payment options node {baseDir}/scripts/hivebrite.mjs memberships payment-options --type-id 160
Engagement Scoring
node {baseDir}/scripts/hivebrite.mjs engagement rankings node {baseDir}/scripts/hivebrite.mjs engagement user-rank --user-id 123
Payment Accounts
node {baseDir}/scripts/hivebrite.mjs payment-accounts list node {baseDir}/scripts/hivebrite.mjs payment-accounts read --id 180
Categories
node {baseDir}/scripts/hivebrite.mjs categories list node {baseDir}/scripts/hivebrite.mjs categories read --id 190 node {baseDir}/scripts/hivebrite.mjs categories create --name "Technology" node {baseDir}/scripts/hivebrite.mjs categories update --id 190 --name "Tech & Innovation" node {baseDir}/scripts/hivebrite.mjs categories delete --id 190 --confirm
Current Locations
node {baseDir}/scripts/hivebrite.mjs current-locations list node {baseDir}/scripts/hivebrite.mjs current-locations read --id 200
Media Center
# Files node {baseDir}/scripts/hivebrite.mjs media files list node {baseDir}/scripts/hivebrite.mjs media files list --folder-id 10 node {baseDir}/scripts/hivebrite.mjs media files read --id 210 node {baseDir}/scripts/hivebrite.mjs media files create --name "logo.png" --url "https://example.com/logo.png" node {baseDir}/scripts/hivebrite.mjs media files update --id 210 --name "new-logo.png" node {baseDir}/scripts/hivebrite.mjs media files delete --id 210 --confirm node {baseDir}/scripts/hivebrite.mjs media files move --id 210 --folder-id 20 node {baseDir}/scripts/hivebrite.mjs media files download-url --id 210 # Folders node {baseDir}/scripts/hivebrite.mjs media folders list node {baseDir}/scripts/hivebrite.mjs media folders read --id 220 node {baseDir}/scripts/hivebrite.mjs media folders create --name "Photos" --parent-id 10 node {baseDir}/scripts/hivebrite.mjs media folders update --id 220 --name "Event Photos" node {baseDir}/scripts/hivebrite.mjs media folders delete --id 220 --confirm node {baseDir}/scripts/hivebrite.mjs media folders move --id 220 --parent-id 30 # Root folder node {baseDir}/scripts/hivebrite.mjs media root-folder
Audit Logs
node {baseDir}/scripts/hivebrite.mjs audit-logs list
Admins
node {baseDir}/scripts/hivebrite.mjs admins list node {baseDir}/scripts/hivebrite.mjs admins read --id 230 node {baseDir}/scripts/hivebrite.mjs admins create --email "admin@example.com" --firstname John --role "admin" node {baseDir}/scripts/hivebrite.mjs admins update --id 230 --role "super_admin" node {baseDir}/scripts/hivebrite.mjs admins delete --id 230 --confirm
Mentoring
# Mentee profiles node {baseDir}/scripts/hivebrite.mjs mentoring mentees list node {baseDir}/scripts/hivebrite.mjs mentoring mentees read --id 240 node {baseDir}/scripts/hivebrite.mjs mentoring mentees create --user-id 123 --program-id 10 node {baseDir}/scripts/hivebrite.mjs mentoring mentees update --id 240 --status "active" node {baseDir}/scripts/hivebrite.mjs mentoring mentees delete --id 240 --confirm # Mentor profiles node {baseDir}/scripts/hivebrite.mjs mentoring mentors list node {baseDir}/scripts/hivebrite.mjs mentoring mentors read --id 250 node {baseDir}/scripts/hivebrite.mjs mentoring mentors create --user-id 456 --program-id 10 node {baseDir}/scripts/hivebrite.mjs mentoring mentors update --id 250 --status "active" node {baseDir}/scripts/hivebrite.mjs mentoring mentors delete --id 250 --confirm # Programs node {baseDir}/scripts/hivebrite.mjs mentoring programs list node {baseDir}/scripts/hivebrite.mjs mentoring programs read --id 10 node {baseDir}/scripts/hivebrite.mjs mentoring programs create --name "Leadership 2026" node {baseDir}/scripts/hivebrite.mjs mentoring programs update --id 10 --status "active" node {baseDir}/scripts/hivebrite.mjs mentoring programs delete --id 10 --confirm # Relationships node {baseDir}/scripts/hivebrite.mjs mentoring relationships list node {baseDir}/scripts/hivebrite.mjs mentoring relationships read --id 260 node {baseDir}/scripts/hivebrite.mjs mentoring relationships create --mentor-profile-id 250 --mentee-profile-id 240 --program-id 10 node {baseDir}/scripts/hivebrite.mjs mentoring relationships update --id 260 --status "completed" node {baseDir}/scripts/hivebrite.mjs mentoring relationships delete --id 260 --confirm # Customizable attributes node {baseDir}/scripts/hivebrite.mjs mentoring customizable-attributes
Order Management (manual transactions)
node {baseDir}/scripts/hivebrite.mjs orders create --user-id 123 --amount 50 --currency EUR --description "Manual payment" node {baseDir}/scripts/hivebrite.mjs orders update --id 270 --amount 75 node {baseDir}/scripts/hivebrite.mjs orders delete --id 270 --confirm
Email Analytics
node {baseDir}/scripts/hivebrite.mjs email-analytics deliveries node {baseDir}/scripts/hivebrite.mjs email-analytics deliveries --campaign-id 20
Forums
node {baseDir}/scripts/hivebrite.mjs forums list node {baseDir}/scripts/hivebrite.mjs forums read --id 280 node {baseDir}/scripts/hivebrite.mjs forums create --title "General Discussion" --body "Welcome to the forum!" node {baseDir}/scripts/hivebrite.mjs forums update --id 280 --title "Updated Title" node {baseDir}/scripts/hivebrite.mjs forums delete --id 280 --confirm
Notifications
node {baseDir}/scripts/hivebrite.mjs notifications list
Sub-Networks (clusters)
node {baseDir}/scripts/hivebrite.mjs sub-networks clusters
User Data Fields
node {baseDir}/scripts/hivebrite.mjs user-data-fields list
Donations
# Funds node {baseDir}/scripts/hivebrite.mjs donations funds list node {baseDir}/scripts/hivebrite.mjs donations funds read --id 290 node {baseDir}/scripts/hivebrite.mjs donations funds create --name "Scholarship Fund" --goal 10000 --currency EUR node {baseDir}/scripts/hivebrite.mjs donations funds update --id 290 --goal 15000 node {baseDir}/scripts/hivebrite.mjs donations funds delete --id 290 --confirm # Campaigns node {baseDir}/scripts/hivebrite.mjs donations campaigns list node {baseDir}/scripts/hivebrite.mjs donations campaigns read --id 300 node {baseDir}/scripts/hivebrite.mjs donations campaigns create --name "Year-End Drive" --fund-id 290 node {baseDir}/scripts/hivebrite.mjs donations campaigns update --id 300 --name "Updated Campaign" node {baseDir}/scripts/hivebrite.mjs donations campaigns delete --id 300 --confirm # Donations node {baseDir}/scripts/hivebrite.mjs donations items list node {baseDir}/scripts/hivebrite.mjs donations items list --fund-id 290 node {baseDir}/scripts/hivebrite.mjs donations items read --id 310 node {baseDir}/scripts/hivebrite.mjs donations items create --user-id 123 --amount 100 --currency EUR --fund-id 290 node {baseDir}/scripts/hivebrite.mjs donations items update --id 310 --status "completed" node {baseDir}/scripts/hivebrite.mjs donations items delete --id 310 --confirm # Gift node {baseDir}/scripts/hivebrite.mjs donations gift --id 320 # Customizable attributes node {baseDir}/scripts/hivebrite.mjs donations customizable-attributes
Pagination (all list commands)
All list commands support pagination:
node {baseDir}/scripts/hivebrite.mjs users list --limit 50 --page 2 node {baseDir}/scripts/hivebrite.mjs events list --limit 100 --page 3
Security
- Auth method: Bearer token or OAuth 2.0 with auto-refresh (password/refresh_token grant)
- No secrets or tokens printed to stdout
- All delete operations require explicit
flag--confirm - Built-in rate limiting with exponential backoff retry (3 attempts)
- OAuth tokens cached in
~/.cache/openclaw/hivebrite-token.json - Lazy config validation (only checked when a command runs)
Dependencies
— CLI frameworkcommander
— environment variable loadingdotenv- Node.js built-in
(requires Node >= 18)fetch
Author
Abdelkrim BOUJRAF — ALT-F1 SRL, Brussels 🇧🇪 🇲🇦 X: @altf1be