Фиксация мамы нолнан с сфере IT с симпатией к атусу стоещему на полигоне
с афроо лошадьми
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
# 🦊 FoxLang Telegram Bot
|
||||
|
||||
Telegram бот, написанный на чистом FoxLang для выполнения FoxLang кода!
|
||||
|
||||
## 📁 Структура
|
||||
|
||||
```
|
||||
telegram_bot/
|
||||
├── main.fox # Основной файл бота
|
||||
├── bot_api.fox # API для работы с Telegram
|
||||
├── code_executor.fox # Выполнение пользовательского кода
|
||||
├── token.txt # Токен бота (настройте!)
|
||||
├── run_bot.sh # Скрипт запуска
|
||||
└── README.md # Эта документация
|
||||
```
|
||||
|
||||
## 🚀 Быстрый старт
|
||||
|
||||
### 1. Создание бота
|
||||
|
||||
1. Найдите @BotFather в Telegram
|
||||
2. Отправьте `/newbot`
|
||||
3. Следуйте инструкциям
|
||||
4. Получите токен вида: `123456789:ABCdefGHIjklMNOpqrsTUVwxyz`
|
||||
|
||||
### 2. Настройка
|
||||
|
||||
Отредактируйте файл `token.txt`:
|
||||
```bash
|
||||
nano token.txt
|
||||
```
|
||||
|
||||
Замените `YOUR_BOT_TOKEN_HERE` на ваш реальный токен.
|
||||
|
||||
### 3. Запуск
|
||||
|
||||
```bash
|
||||
./run_bot.sh
|
||||
```
|
||||
|
||||
Или вручную:
|
||||
```bash
|
||||
../src/foxlang main.fox
|
||||
```
|
||||
|
||||
## 🤖 Возможности бота
|
||||
|
||||
### Команды
|
||||
- `/start` - Приветствие и инструкции
|
||||
- `/help` - Справка по FoxLang
|
||||
- `/example` - Пример кода
|
||||
|
||||
### Выполнение кода
|
||||
Отправьте боту любой FoxLang код:
|
||||
|
||||
```cpp
|
||||
int x = 10;
|
||||
int y = 20;
|
||||
print("Sum: " + (x + y));
|
||||
fox();
|
||||
```
|
||||
|
||||
### Безопасность
|
||||
- Запрет на `include` в пользовательском коде
|
||||
- Ограничение длины кода (10000 символов)
|
||||
- Ограничение вывода (4000 символов)
|
||||
- Запрет системных вызовов
|
||||
|
||||
## 🔧 Архитектура
|
||||
|
||||
### main.fox
|
||||
- Основной цикл бота
|
||||
- Обработка команд
|
||||
- Инициализация
|
||||
|
||||
### bot_api.fox
|
||||
- HTTP запросы к Telegram API
|
||||
- Парсинг JSON ответов
|
||||
- Отправка сообщений
|
||||
|
||||
### code_executor.fox
|
||||
- Выполнение пользовательского кода
|
||||
- Проверки безопасности
|
||||
- Ограничения вывода
|
||||
|
||||
## 🛠 Разработка
|
||||
|
||||
### Добавление новых команд
|
||||
|
||||
В `main.fox`, функция `handle_command()`:
|
||||
|
||||
```cpp
|
||||
if (command == "/mycommand") {
|
||||
return "My custom response";
|
||||
}
|
||||
```
|
||||
|
||||
### Расширение API
|
||||
|
||||
В `bot_api.fox` можно добавить новые методы Telegram API:
|
||||
|
||||
```cpp
|
||||
void send_photo(string token, string chat_id, string photo_url) {
|
||||
// Реализация отправки фото
|
||||
}
|
||||
```
|
||||
|
||||
### Улучшение безопасности
|
||||
|
||||
В `code_executor.fox`, функция `is_safe_code()`:
|
||||
|
||||
```cpp
|
||||
// Добавить новые запрещенные слова
|
||||
set(forbidden_words, 5, "dangerous_function");
|
||||
```
|
||||
|
||||
## 📝 Примечания
|
||||
|
||||
- Бот написан на чистом FoxLang
|
||||
- Использует заглушки для системных функций
|
||||
- Для полной функциональности нужны встроенные функции:
|
||||
- `http_get()` - HTTP запросы
|
||||
- `read_file()` / `write_file()` - работа с файлами
|
||||
- `sleep()` - задержки
|
||||
- Строковые функции (`contains`, `replace_all`, etc.)
|
||||
|
||||
## 🔮 Будущие улучшения
|
||||
|
||||
- [ ] Полный JSON парсер
|
||||
- [ ] Файловые операции
|
||||
- [ ] HTTP клиент
|
||||
- [ ] Строковые функции
|
||||
- [ ] Логирование
|
||||
- [ ] Конфигурация через файл
|
||||
- [ ] Поддержка inline клавиатур
|
||||
- [ ] Сохранение состояния пользователей
|
||||
|
||||
## 📄 Лицензия
|
||||
|
||||
MIT License - используйте свободно!
|
||||
Reference in New Issue
Block a user