← Voltar para Documentação

💡 Exemplos Práticos

Projetos prontos para deploy na MozHost. Copie, personalize e publique!

💬

Bot WhatsApp com Baileys

Um bot simples de WhatsApp que responde mensagens automaticamente usando a biblioteca Baileys.

package.json

{
  "name": "whatsapp-bot",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": { "start": "node index.js" },
  "dependencies": {
    "@whiskeysockets/baileys": "^6.0.0",
    "qrcode-terminal": "^0.12.0"
  }
}

index.js

const { default: makeWASocket, useMultiFileAuthState, DisconnectReason } = require('@whiskeysockets/baileys');
const qrcode = require('qrcode-terminal');

async function startBot() {
  const { state, saveCreds } = await useMultiFileAuthState('./auth');

  const sock = makeWASocket({
    auth: state,
    printQRInTerminal: true
  });

  sock.ev.on('creds.update', saveCreds);

  sock.ev.on('messages.upsert', async ({ messages }) => {
    const msg = messages[0];
    if (!msg.message || msg.key.fromMe) return;

    const text = msg.message.conversation
      || msg.message.extendedTextMessage?.text
      || '';

    const from = msg.key.remoteJid;

    if (text.toLowerCase() === 'ola' || text.toLowerCase() === 'olá') {
      await sock.sendMessage(from, { text: '👋 Olá! Eu sou o bot da MozHost. Como posso ajudar?' });
    } else if (text.toLowerCase() === 'menu') {
      await sock.sendMessage(from, {
        text: '📋 *Menu do Bot*\n\n1️⃣ Informações\n2️⃣ Preços\n3️⃣ Suporte\n\nDigite o número da opção.'
      });
    } else {
      await sock.sendMessage(from, { text: '🤖 Não entendi. Digite *menu* para ver as opções.' });
    }
  });

  sock.ev.on('connection.update', ({ connection, lastDisconnect }) => {
    if (connection === 'close') {
      const shouldReconnect = lastDisconnect?.error?.output?.statusCode !== DisconnectReason.loggedOut;
      if (shouldReconnect) startBot();
    } else if (connection === 'open') {
      console.log('✅ Bot conectado ao WhatsApp!');
    }
  });
}

startBot();

Deploy: Crie um container Node.js → Faça upload via CLI (mozhost deploy) → Escaneie o QR code nos logs do container.

🚀

API REST com Express.js

Uma API REST simples com operações CRUD para gerenciar tarefas.

package.json

{
  "name": "tasks-api",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": { "start": "node index.js" },
  "dependencies": {
    "express": "^4.18.0",
    "cors": "^2.8.5"
  }
}

index.js

const express = require('express');
const cors = require('cors');

const app = express();
app.use(cors());
app.use(express.json());

let tasks = [
  { id: 1, title: 'Aprender MozHost', done: false },
  { id: 2, title: 'Fazer deploy da API', done: false }
];

// Listar tarefas
app.get('/api/tasks', (req, res) => {
  res.json({ success: true, tasks });
});

// Criar tarefa
app.post('/api/tasks', (req, res) => {
  const task = {
    id: tasks.length + 1,
    title: req.body.title,
    done: false
  };
  tasks.push(task);
  res.status(201).json({ success: true, task });
});

// Atualizar tarefa
app.put('/api/tasks/:id', (req, res) => {
  const task = tasks.find(t => t.id === parseInt(req.params.id));
  if (!task) return res.status(404).json({ error: 'Tarefa não encontrada' });
  task.title = req.body.title || task.title;
  task.done = req.body.done ?? task.done;
  res.json({ success: true, task });
});

// Deletar tarefa
app.delete('/api/tasks/:id', (req, res) => {
  tasks = tasks.filter(t => t.id !== parseInt(req.params.id));
  res.json({ success: true, message: 'Tarefa removida' });
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`🚀 API rodando na porta ${PORT}`));

Acesso: Após deploy, sua API estará disponível em https://seu-container.mozhost.shop/api/tasks

🤖

Bot Telegram com Telegraf

Um bot de Telegram que responde comandos usando a biblioteca Telegraf.

package.json

{
  "name": "telegram-bot",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": { "start": "node index.js" },
  "dependencies": {
    "telegraf": "^4.12.0"
  }
}

index.js

const { Telegraf } = require('telegraf');

const bot = new Telegraf(process.env.BOT_TOKEN);

bot.start((ctx) => {
  ctx.reply('👋 Olá! Eu sou o bot da MozHost no Telegram!\n\nComandos:\n/help - Ajuda\n/info - Informações\n/ping - Testar conexão');
});

bot.help((ctx) => {
  ctx.reply('📋 Comandos disponíveis:\n\n/start - Iniciar\n/help - Ajuda\n/info - Informações sobre MozHost\n/ping - Verificar se estou online');
});

bot.command('info', (ctx) => {
  ctx.reply('🇲🇿 MozHost - Plataforma moçambicana de hospedagem\n\n📦 Hospede bots e APIs\n💰 A partir de 50 MT\n🌐 mozhost.shop');
});

bot.command('ping', (ctx) => {
  ctx.reply('🏓 Pong! Estou online e funcionando!');
});

bot.on('text', (ctx) => {
  ctx.reply('🤖 Não entendi. Use /help para ver os comandos.');
});

bot.launch().then(() => console.log('✅ Bot Telegram iniciado!'));

process.once('SIGINT', () => bot.stop('SIGINT'));
process.once('SIGTERM', () => bot.stop('SIGTERM'));

⚠️ Importante: Configure a variável de ambiente BOT_TOKEN com o token obtido do @BotFather.

🐍

API Python com Flask

Uma API REST simples construída com Flask (Python).

requirements.txt

flask==3.0.0
flask-cors==4.0.0

app.py

from flask import Flask, jsonify, request
from flask_cors import CORS
import os

app = Flask(__name__)
CORS(app)

items = [
    {"id": 1, "name": "Item 1", "price": 100},
    {"id": 2, "name": "Item 2", "price": 200}
]

@app.route('/api/items', methods=['GET'])
def get_items():
    return jsonify({"success": True, "items": items})

@app.route('/api/items', methods=['POST'])
def add_item():
    data = request.get_json()
    item = {
        "id": len(items) + 1,
        "name": data["name"],
        "price": data["price"]
    }
    items.append(item)
    return jsonify({"success": True, "item": item}), 201

@app.route('/api/items/<int:item_id>', methods=['DELETE'])
def delete_item(item_id):
    global items
    items = [i for i in items if i["id"] != item_id]
    return jsonify({"success": True, "message": "Item removido"})

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 3000))
    app.run(host='0.0.0.0', port=port)

Deploy: Crie um container Python → Faça upload → As dependências do requirements.txt são instaladas automaticamente.

🎮

Bot Discord com discord.js

Um bot de Discord simples que responde comandos e mensagens.

package.json

{
  "name": "discord-bot",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": { "start": "node index.js" },
  "dependencies": {
    "discord.js": "^14.14.0"
  }
}

index.js

const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent
  ]
});

client.once('ready', () => {
  console.log(`✅ Bot online como ${client.user.tag}`);
});

client.on('messageCreate', (message) => {
  if (message.author.bot) return;

  if (message.content === '!ping') {
    message.reply('🏓 Pong!');
  }

  if (message.content === '!info') {
    message.reply('🇲🇿 Bot hospedado na MozHost!\n📦 mozhost.shop');
  }

  if (message.content === '!help') {
    message.reply('📋 Comandos:\n!ping - Testar\n!info - Informações\n!help - Ajuda');
  }
});

client.login(process.env.DISCORD_TOKEN);

⚠️ Importante: Configure a variável DISCORD_TOKEN com o token do seu bot obtido no Discord Developer Portal.

🚀 Como Fazer Deploy de Qualquer Exemplo

1

Crie um container

No dashboard ou via CLI: mozhost create meu-projeto --type nodejs

2

Configure variáveis de ambiente

Adicione tokens e secrets nas configurações do container

3

Faça deploy do código

Via CLI: mozhost deploy ou conecte seu GitHub

Pronto!

Seu projeto estará online em seu-container.mozhost.shop