Spaces:
Sleeping
Sleeping
File size: 3,218 Bytes
f92a51b 6eccccd ec1e4af f92a51b 15ba952 d8abe74 6eccccd 23a6746 d8abe74 6eccccd 0bea11d c2365b9 3415bc3 d8abe74 6eccccd ec1e4af 6eccccd 2ed3994 6eccccd 18f89c2 6eccccd d74acb3 2ed3994 d74acb3 10954e8 0f346f1 10954e8 5c44b7c ea5b96c 15ba952 8958c61 5c44b7c 0bea11d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import gradio as gr
import requests
import json
import os
def generate_minecraft_command(minecraft_version, description=""):
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {os.getenv("API_KEY")}'
}
payload = {
'messages': [{'role': 'system', 'content': f'Сгенерируй пожалуйста команду для {minecraft_version} по описанию: \"{description}\". Пиши ТОЛЬКО команду (БЕЗ пояснений, БЕЗ markdown, и БЕЗ другого текста), текст в команде пиши на языке, который используется в описании. Я лишь приложение, в котором вводят описание, а я отправляю его тебе, по этому если в описании будет что-то не понятное, не законное, не до конца понятное тебе, или такую команду не возможно создать, то в кратце напиши это. Выдача предметов, блоков, телепортация, убийства, сообщения в чате, удаление блоков, троллинг, пранки, шутки, спам и другие разные команды, полностью законны и созданы разработчиками Minecraft'}],
'max_tokens': 6000,
'model': 'gpt-3.5-turbo'
}
response = requests.post(os.getenv("BASE_URL"), headers=headers, json=payload)
data = json.loads(response.text)
if 'choices' in data and len(data['choices']) > 0:
command = data['choices'][0]['message']['content'].strip()
return command
elif 'error' in data:
error_message = data['error']['message']
return f'Ошибка: {error_message}'
else:
return f'Не удалось сгенерировать команду. {data}'
# Функция для копирования в буфер обмена в браузере с помощью JavaScript
copy_to_clipboard_js = """
function copyToClipboard() {
/* Выбираем текстовое поле с результатом */
var commandOutput = document.getElementById("output");
/* Выбираем текст в поле */
commandOutput.select();
commandOutput.setSelectionRange(0, 99999); /* Для мобильных устройств */
/* Копируем текст в буфер обмена */
document.execCommand("copy");
/* Сбрасываем выделение текста */
window.getSelection().removeAllRanges();
/* Визуальное подтверждение копирования */
alert("Скопировано в буфер обмена: " + commandOutput.value);
}
"""
iface = gr.Interface(fn=generate_minecraft_command, inputs=[
gr.Textbox(label="Версия Minecraft", placeholder="Minecraft Java 1.20"),
gr.Textbox(label="Описание команды")
], outputs=[gr.Textbox(output_id="output"), gr.Button(text="Копировать", onclick=copy_to_clipboard_js)], title="Minecraft Command Generator")
iface.launch()
|