Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
d6124f0
add files
madjin Jul 5, 2025
64b053e
add workflows, update readme
madjin Jul 5, 2025
9d6501c
Merge pull request #1 from M3-org/channel-config
madjin Jul 5, 2025
6b7181d
simplify redundant bash from workflows into script, add dashboard
madjin Jul 26, 2025
0a19e6a
revert
madjin Jul 26, 2025
5ca99b3
Sync
madjin Jul 26, 2025
52242bc
cleanup
madjin Jul 26, 2025
8cb5d70
Merge pull request #2 from M3-org/enhance
madjin Jul 26, 2025
e45a5c0
make environment name consistent
madjin Jul 26, 2025
07fb7cd
simplify workflows
madjin Jul 26, 2025
f136cc5
remove extra page deployment
madjin Jul 26, 2025
eaab680
cleanup workflows
madjin Jul 26, 2025
c0df3eb
Merge pull request #3 from M3-org/enhance
madjin Jul 26, 2025
5200bae
remove dev discord workflow
madjin Jul 26, 2025
3a9d0c3
Merge pull request #4 from M3-org/enhance
madjin Jul 26, 2025
dba6953
update discovery script
madjin Jul 26, 2025
d8d654b
update channel discovery script
madjin Jul 26, 2025
875c090
bump
madjin Jul 26, 2025
c41af8b
Merge pull request #5 from M3-org/enhance
madjin Jul 26, 2025
e3168c5
cleanup setup
madjin Jul 26, 2025
8f4980a
Merge pull request #6 from M3-org/merge-eliza
madjin Jul 26, 2025
b7156f4
update channe updater script
madjin Jul 26, 2025
91210d2
include status.txt and dashboard
madjin Jul 26, 2025
4eeecd4
Merge pull request #7 from M3-org/merge-eliza
madjin Jul 26, 2025
c4177dc
update workflow
madjin Jul 26, 2025
28298b5
Merge pull request #8 from M3-org/merge-eliza
madjin Jul 26, 2025
69400b4
simplify workflow
madjin Jul 26, 2025
e375026
update workflow
madjin Jul 26, 2025
713f4b9
Merge pull request #9 from M3-org/merge-eliza
madjin Jul 26, 2025
ef6fcc3
remove codex for now
madjin Jul 26, 2025
408032f
merge
madjin Jul 26, 2025
574a99f
fix
madjin Jul 26, 2025
caac98b
debug
madjin Jul 26, 2025
49bdc35
Update Discord channels & configs - 102 total, 94 new channels (2025-…
github-actions[bot] Jul 26, 2025
be56717
update workflow
madjin Jul 26, 2025
0a025c2
Merge branch 'main' of github.com:M3-org/ai-news
madjin Jul 26, 2025
c2b4e37
remove publish folder
madjin Jul 26, 2025
b40482a
Update Discord channel checklist - 102 total, 94 new channels (2025-0…
github-actions[bot] Jul 26, 2025
e9d5387
bump
madjin Jul 26, 2025
aef2ba1
Merge branch 'main' of github.com:M3-org/ai-news
madjin Jul 26, 2025
39e23ca
bump
madjin Jul 26, 2025
69c120f
fix
madjin Jul 26, 2025
2e37b60
update config
madjin Jul 26, 2025
5c3a7bd
bump
madjin Jul 26, 2025
aca3c78
update workflows
madjin Jul 26, 2025
f01bee7
Merge pull request #10 from M3-org/simplify
madjin Jul 26, 2025
eafea76
Update Discord channel checklist - 102 total, 96 new channels (2025-0…
github-actions[bot] Jul 26, 2025
a5c66c9
simplify
madjin Jul 26, 2025
4e10fcf
remove public
madjin Jul 26, 2025
218f214
move autodoc
madjin Jul 26, 2025
42b2b85
move autodoc
madjin Jul 26, 2025
2c7dcf8
Merge pull request #11 from M3-org/simplify
madjin Jul 26, 2025
a97a158
update dashboard
madjin Jul 26, 2025
53ca90c
Merge branch 'main' of github.com:M3-org/ai-news
madjin Jul 26, 2025
770e63e
Update Discord channel checklist - 102 total, 96 new channels (2025-0…
github-actions[bot] Jul 26, 2025
d04ed65
simplify
madjin Jul 26, 2025
b7c3851
Merge branch 'main' of github.com:M3-org/ai-news
madjin Jul 26, 2025
fd5d5d7
remove temp folder
madjin Jul 26, 2025
c17ae6b
Update Discord channel checklist - 102 total, 96 new channels (2025-0…
github-actions[bot] Jul 27, 2025
f4f2ee4
Update Discord channel checklist - 102 total, 96 new channels (2025-0…
github-actions[bot] Jul 28, 2025
69a4849
Update Discord channel checklist - 102 total, 96 new channels (2025-0…
github-actions[bot] Jul 29, 2025
5405d49
Update Discord channel checklist - 102 total, 96 new channels (2025-0…
github-actions[bot] Jul 30, 2025
19766f6
Update Discord channel checklist - 102 total, 96 new channels (2025-0…
github-actions[bot] Jul 31, 2025
1b284ee
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 1, 2025
98e9ced
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 2, 2025
a8c94d4
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 3, 2025
32a424d
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 4, 2025
e8aeddb
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 5, 2025
83465b3
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 6, 2025
d61ad91
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 7, 2025
b0e206c
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 8, 2025
ec4f3b8
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 9, 2025
64dac90
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 10, 2025
bebada2
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 11, 2025
e8268f7
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 12, 2025
dcbd54d
Update Discord channel checklist - 104 total, 98 new channels (2025-0…
github-actions[bot] Aug 13, 2025
4c7a254
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 14, 2025
b2c9771
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 15, 2025
6c538b7
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 16, 2025
8b127af
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 17, 2025
7b1ead8
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 18, 2025
3465649
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 19, 2025
1ebfa8b
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 20, 2025
b63d7b9
Update Discord channel checklist - 105 total, 99 new channels (2025-0…
github-actions[bot] Aug 21, 2025
409219d
Update Discord channel checklist - 106 total, 100 new channels (2025-…
github-actions[bot] Aug 22, 2025
e9d212c
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 23, 2025
547ec01
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 24, 2025
6a9b6c7
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 25, 2025
d2a86a1
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 26, 2025
0f2eee4
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 27, 2025
3766836
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 28, 2025
ec78438
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 29, 2025
6a0fb12
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 30, 2025
5b0761a
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Aug 31, 2025
ccd9381
Add Discord media download functionality
madjin Sep 1, 2025
10e933e
Phase 2 Sprint 1-2: Configuration integration and deduplication found…
madjin Sep 1, 2025
6d30933
Fix Discord media download integration with historical command
madjin Sep 1, 2025
c2bd74c
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Sep 1, 2025
ae20738
Implement code review improvements for media download integration
madjin Sep 2, 2025
98ea7e4
Fix Discord Media Download TypeScript errors and interface mismatches
madjin Sep 2, 2025
3d0ee0e
add rate limiting, separate folders
madjin Sep 2, 2025
28fce39
Update Discord channel checklist - 107 total, 101 new channels (2025-…
github-actions[bot] Sep 2, 2025
4a70f1e
improved rate limiting and file org
madjin Sep 2, 2025
3b60e02
Merge pull request #18 from M3-org/download-media-advanced
madjin Sep 2, 2025
cee43e7
Update Discord channel checklist - 109 total, 103 new channels (2025-…
github-actions[bot] Sep 3, 2025
2b4c6d7
Update Discord channel checklist - 109 total, 103 new channels (2025-…
github-actions[bot] Sep 4, 2025
baad0dd
Update Discord channel checklist - 109 total, 103 new channels (2025-…
github-actions[bot] Sep 5, 2025
3036266
Update Discord channel checklist - 109 total, 103 new channels (2025-…
github-actions[bot] Sep 6, 2025
731dc53
add script for server use
madjin Sep 7, 2025
9d77004
Update Discord channel checklist - 109 total, 103 new channels (2025-…
github-actions[bot] Sep 7, 2025
e4df4d2
Replace SSH with minimal HMAC webhook for media collection
madjin Sep 7, 2025
50b38e0
Add date parameter validation to webhook server
madjin Sep 7, 2025
338c27b
Disable media download in configs
madjin Sep 7, 2025
5013a67
Merge pull request #22 from M3-org/webhook-migration
madjin Sep 7, 2025
6b50a96
Implement Webhook Authentication Migration System
madjin Sep 7, 2025
30656ab
Fix GitHub Actions workflow failures
madjin Sep 8, 2025
52114c9
Update Discord channel checklist - 109 total, 103 new channels (2025-…
github-actions[bot] Sep 8, 2025
1b36fee
Fix ES module compatibility issues in GitHub Actions workflows
madjin Sep 8, 2025
304f5f0
Update WORKFLOW_FIXES.md with complete fork PR compatibility analysis
madjin Sep 8, 2025
1471cde
Resolve merge conflicts and fix ES module compatibility
madjin Sep 8, 2025
819118a
Resolve merge conflicts with target repository main branch
madjin Sep 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# OpenAI/OpenRouter Configuration
OPENAI_API_KEY=your_openai_or_openrouter_api_key_here
OPENAI_DIRECT_KEY=
USE_OPENROUTER=true
SITE_URL=https://your-domain.com/ai-news/
SITE_NAME=AI_News

# Discord Bot Configuration
DISCORD_APP_ID=your_discord_app_id_here
DISCORD_TOKEN=your_discord_bot_token_here
HYPERFY_DISCORD_APP_ID=your_hyperfy_discord_app_id_here
HYPERFY_DISCORD_TOKEN=your_hyperfy_discord_token_here

# API Keys for Data Sources
BIRDEYE_API_KEY=your_birdeye_api_key_here
CODEX_API_KEY=your_codex_api_key_here

# Guild IDs for Discord Servers
DISCORD_GUILD_ID=your_main_discord_guild_id_here
ELIZADEV_DISCORD_GUILD_ID=your_elizadev_guild_id_here
HYPERFY_DISCORD_GUILD_ID=your_hyperfy_guild_id_here

# Remote Deployment Configuration (for GitHub Actions and deployment scripts)
SERVER_HOST=your_server_host_or_ip_here
SERVER_USER=your_server_username_here
SERVER_KEY_PATH=/path/to/your/ssh/private/key

# Deployment Settings
NODE_ENV=production
DEPLOY_BRANCH=main
DATA_BACKUP_ENABLED=true
AUTO_RESTART_ENABLED=true
166 changes: 166 additions & 0 deletions .github/workflows/channel-management.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
name: Discord Channel Management

on:
schedule:
# Run daily at 6:00 AM UTC
- cron: '0 6 * * *'
workflow_dispatch: # Allow manual triggering

jobs:
manage-channels:
timeout-minutes: 30
runs-on: ubuntu-latest
permissions:
contents: write # Needed to commit the updated checklist and configs

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '23'

- name: Process secrets securely
run: |
echo '${{ secrets.ENV_SECRETS }}' > env_secrets.json
chmod 600 env_secrets.json

# Mask values
jq -r 'to_entries[] | .value' env_secrets.json | while read -r value; do
if [ -n "$value" ]; then
echo "::add-mask::$value"
fi
done

# Set environment variables
jq -r 'to_entries[] | "\(.key)=\(.value)"' env_secrets.json > env_vars.txt
while IFS= read -r line; do
if [ -n "$line" ]; then
echo "$line" >> $GITHUB_ENV
fi
done < env_vars.txt

# Clean up
rm env_secrets.json env_vars.txt

- name: Install dependencies
run: npm install

- name: Run channel discovery
run: node scripts/discover-channels.mjs
env:
NODE_ENV: production

- name: Check for channel checklist changes
id: checklist_changes
run: |
if [ -f "scripts/CHANNELS.md" ]; then
if git diff --quiet HEAD -- scripts/CHANNELS.md; then
echo "checklist_changed=false" >> $GITHUB_OUTPUT
echo "No changes detected in channel checklist"
else
echo "checklist_changed=true" >> $GITHUB_OUTPUT
echo "Changes detected in channel checklist"
fi
else
echo "checklist_changed=true" >> $GITHUB_OUTPUT
echo "New channel checklist created"
fi

- name: Run config auto-update
if: steps.checklist_changes.outputs.checklist_changed == 'true'
run: node scripts/update-configs-from-checklist.mjs
env:
NODE_ENV: production

- name: Check for config changes
id: config_changes
run: |
if git diff --quiet HEAD -- config/; then
echo "configs_changed=false" >> $GITHUB_OUTPUT
echo "No changes detected in config files"
else
echo "configs_changed=true" >> $GITHUB_OUTPUT
echo "Changes detected in config files"
fi

- name: Generate dashboard
run: node scripts/generate-dashboard.mjs
env:
NODE_ENV: production

- name: Commit and push changes
if: steps.checklist_changes.outputs.checklist_changed == 'true'
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"

# Add checklist changes
git add scripts/CHANNELS.md

# Add config changes if any
if [ "${{ steps.config_changes.outputs.configs_changed }}" = "true" ]; then
git add config/
fi

# Get summary for commit message
TIMESTAMP=$(date -u +'%Y-%m-%d %H:%M:%S UTC')
if [ -f "scripts/CHANNELS.md" ]; then
TOTAL_CHANNELS=$(grep "Total Channels" scripts/CHANNELS.md | head -1 | sed 's/.*Total Channels\*\*: \([0-9]*\).*/\1/' || echo "unknown")
NEW_CHANNELS=$(grep "New Channels" scripts/CHANNELS.md | head -1 | sed 's/.*New Channels\*\*: \([0-9]*\).*/\1/' || echo "0")

if [ "${{ steps.config_changes.outputs.configs_changed }}" = "true" ]; then
COMMIT_MSG="Update Discord channels & configs - ${TOTAL_CHANNELS} total, ${NEW_CHANNELS} new channels (${TIMESTAMP})"
else
COMMIT_MSG="Update Discord channel checklist - ${TOTAL_CHANNELS} total, ${NEW_CHANNELS} new channels (${TIMESTAMP})"
fi
else
COMMIT_MSG="Add Discord channel management (${TIMESTAMP})"
fi

git commit -m "$COMMIT_MSG"
git push

- name: Deploy dashboard to gh-pages
if: steps.checklist_changes.outputs.checklist_changed == 'true'
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
keep_files: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
commit_message: "Update dashboard files from channel management"


- name: Summary
run: |
if [ -f "scripts/CHANNELS.md" ]; then
echo "✅ Channel management completed successfully"
echo "📋 Checklist available at: scripts/CHANNELS.md"

# Extract and display summary
TOTAL=$(grep "Total Channels" scripts/CHANNELS.md | head -1 | sed 's/.*Total Channels\*\*: \([0-9]*\).*/\1/' || echo "unknown")
TRACKED=$(grep "Currently Tracking" scripts/CHANNELS.md | head -1 | sed 's/.*Currently Tracking\*\*: \([0-9]*\).*/\1/' || echo "unknown")
NEW=$(grep "New Channels" scripts/CHANNELS.md | head -1 | sed 's/.*New Channels\*\*: \([0-9]*\).*/\1/' || echo "0")

echo "📊 Summary: ${TOTAL} total channels, ${TRACKED} currently tracked, ${NEW} new channels found"

if [ "${{ steps.config_changes.outputs.configs_changed }}" = "true" ]; then
echo "🔧 Config files updated with new channel selections"
fi

if [ "$NEW" != "0" ] && [ "$NEW" != "unknown" ]; then
echo "⚠️ Action required: ${NEW} new channels found that are not being tracked"
fi

if [ "${{ steps.checklist_changes.outputs.checklist_changed }}" = "true" ]; then
echo "📊 Dashboard updated"
fi
else
echo "❌ Channel discovery failed - no checklist generated"
fi
92 changes: 92 additions & 0 deletions .github/workflows/deploy-media-collection.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Daily Media Collection

on:
schedule:
- cron: '0 6 * * *' # Run at 6 AM UTC daily
workflow_dispatch:
inputs:
config:
description: 'all | elizaos.json | hyperfy-discord.json'
required: false
default: 'all'
type: choice
options:
- all
- elizaos.json
- hyperfy-discord.json
date:
description: 'YYYY-MM-DD (empty = yesterday)'
required: false
type: string

permissions:
contents: read

jobs:
trigger-collection:
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Send webhook request
env:
WEBHOOK_URL: ${{ secrets.COLLECT_WEBHOOK_URL }}
WEBHOOK_SECRET: ${{ secrets.COLLECT_WEBHOOK_SECRET }}
run: |
set -euo pipefail

# Prepare payload
CONFIG="${{ github.event.inputs.config || 'all' }}"
DATE="${{ github.event.inputs.date || '' }}"

# Create JSON payload (compact format)
PAYLOAD=$(jq -nc \
--arg config "$CONFIG" \
--arg date "$DATE" \
'{config: $config, date: $date}')

# Generate HMAC signature (GitHub uses sha256= format)
SIGNATURE="sha256=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$WEBHOOK_SECRET" -binary | xxd -p -c 256)"

# Mask sensitive data
echo "::add-mask::$WEBHOOK_SECRET"
echo "::add-mask::$SIGNATURE"

# Send webhook request
echo "Triggering collection for config: $CONFIG, date: ${DATE:-yesterday}"

RESPONSE=$(curl -s -w "\n%{http_code}" -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-H "X-Hub-Signature-256: $SIGNATURE" \
--data "$PAYLOAD")

# Parse response
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
BODY=$(echo "$RESPONSE" | head -n -1)

echo "HTTP Status: $HTTP_CODE"
echo "Response: $BODY"

# Check for success
case $HTTP_CODE in
202)
echo "✅ Collection started successfully"
;;
409)
echo "⚠️ Collection blocked - another run in progress"
exit 1
;;
400)
echo "❌ Bad request: $BODY"
exit 1
;;
401)
echo "❌ Authentication failed - check COLLECT_WEBHOOK_SECRET"
exit 1
;;
*)
echo "❌ Unexpected response: $HTTP_CODE"
echo "$BODY"
exit 1
;;
esac
Loading