Scripting and scripting and scripting smart

cat << ‘EOF’ > ~/Desktop/setup_raybots.py
import os

save_path = os.path.expanduser(“~/Desktop/telegram-bots”)
os.makedirs(save_path, exist_ok=True)

bots = {
“texcoolbot.py”: ”’
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

BOT_TOKEN = ‘7464269358:AAEcUuwyX77QOAh6i_NJyPcYfNfhLreu3Lw’ PAYMENT_LINK = ‘https://ray2407.github.io/texcool/

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(“💾 Welcome to TEXCOOLBot!\\n/pay – Show payment link”)

async def pay(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text(f”Pay here: {PAYMENT_LINK}”)

def main():
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler(“start”, start))
app.add_handler(CommandHandler(“pay”, pay))
app.run_polling()

if __name__ == ‘__main__’:
main()
”’,

“ray2fb_bot.py”: ”’
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

BOT_TOKEN = ‘8056349243:AAH7CVgBx5_ese73xjCg3ah71T6-NlrOeaI’ FB_LANDING_LINK = ‘https://ray2407.github.io/ray2fb/

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(“👋 Ray2FB Bot\\n/funnel – Launch Facebook funnel”)

async def funnel(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text(f”🚀 {FB_LANDING_LINK}”)

def main():
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler(“start”, start))
app.add_handler(CommandHandler(“funnel”, funnel))
app.run_polling()

if __name__ == ‘__main__’:
main()
”’,

“my0724_bot.py”: ”’
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

BOT_TOKEN = ‘7355656881:AAEe3hHYjDAlg6aVQ8Iw8M125qxqBxlnYK4’ DAILY_LINK = ‘https://ray2407.github.io/0724/

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text(“📅 0724 Bot\\n/daily – Today’s link”)

async def daily(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text(f”🔗 {DAILY_LINK}”)

def main():
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler(“start”, start))
app.add_handler(CommandHandler(“daily”, daily))
app.run_polling()

if __name__ == ‘__main__’:
main()
”’,

“rayhackettbot.py”: ”’
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

BOT_TOKEN = ‘6827724397:AAHAnz_77_IYZRZTT8VULEhyal1oJBe_Muw’ DAD_LINK = ‘https://ray2407.github.io/rayhackett/

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(“👋 Ray Hackett Bot\\n/dadvice – Daily insight”)

async def dadvice(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text(f”💬 {DAD_LINK}”)

def main():
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler(“start”, start))
app.add_handler(CommandHandler(“dadvice”, dadvice))
app.run_polling()

if __name__ == ‘__main__’:
main()
”’
}

# Save bot files
for filename, content in bots.items():
with open(os.path.join(save_path, filename), “w”) as f:
f.write(content.strip())

# Save requirements.txt
with open(os.path.join(save_path, “requirements.txt”), “w”) as f: f.write(“python-telegram-bot==20.3\n”)

# Save launcher.sh
with open(os.path.join(save_path, “launcher.sh”), “w”) as f: f.write(“””#!/bin/bash
cd “$(dirname “$0″)”
echo “🚀 Launching all RayBots…”
python3 texcoolbot.py > texcoolbot.log 2>&1 &
python3 ray2fb_bot.py > ray2fb_bot.log 2>&1 &
python3 my0724_bot.py > my0724_bot.log 2>&1 &
python3 rayhackettbot.py > rayhackettbot.log 2>&1 &
echo “✅ All bots running. Logs are saved.”
“””)

# Save stop_all.sh
with open(os.path.join(save_path, “stop_all.sh”), “w”) as f: f.write(“””#!/bin/bash
echo “🛑 Stopping all RayBots…”
pkill -f texcoolbot.py
pkill -f ray2fb_bot.py
pkill -f my0724_bot.py
pkill -f rayhackettbot.py
echo “✅ All bots stopped.”
“””)

# Save status.sh
with open(os.path.join(save_path, “status.sh”), “w”) as f:
f.write(“””#!/bin/bash
echo “🔍 Checking bot status…”
for bot in texcoolbot ray2fb_bot my0724_bot rayhackettbot
do
if pgrep -f “$bot.py” > /dev/null; then
echo “✅ $bot.py is RUNNING”
else
echo “❌ $bot.py is NOT running”
fi
done
“””)

# Save autobot.sh
with open(os.path.join(save_path, “autobot.sh”), “w”) as f:
f.write(“””#!/bin/bash
echo “🔁 Auto-restarting bots if they crash…”
while true; do
for bot in texcoolbot ray2fb_bot my0724_bot rayhackettbot
do
if ! pgrep -f “$bot.py” > /dev/null; then
echo “⚠ Restarting $bot…”
python3 $bot.py > $bot.log 2>&1 &
fi
done
sleep 10
done
“””)

# Make all .sh files executable
for shfile in [“launcher.sh”, “stop_all.sh”, “status.sh”, “autobot.sh”]: os.chmod(os.path.join(save_path, shfile), 0o755)

print(“✅ Everything created in ~/Desktop/telegram-bots”)
EOF

python3 ~/Desktop/setup_raybots.py

Leave a comment