💡 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
Crie um container
No dashboard ou via CLI: mozhost create meu-projeto --type nodejs
Configure variáveis de ambiente
Adicione tokens e secrets nas configurações do container
Faça deploy do código
Via CLI: mozhost deploy ou conecte seu GitHub
Pronto!
Seu projeto estará online em seu-container.mozhost.shop