Как взять текст из Clipboard и положить другой обратно?
- Посетитель
- Пользователи
- 10
- 8 публикаций
Добрый день всем.
Прошу подсказать как взять текст из Clipboard и положить другой текст обратно в Clipboard в Opencomputers в Lua?
Изменено 11 февраля, 2016 пользователем igornov
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
20 ответов на этот вопрос
- Сортировать по голосам
- Сортировать по дате
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Подписчики 0
Полезные ресурсы
Lua
Голосование
Информация
О нас
Проект ComputerCraft.ru основан в 2014 году. Особенностью наших игровых серверов является обязательное наличие компьютерных и технических модов и аддонов. Когда мод ComputerCraft устарел и больше не отвечал техническим требованиям, ему на замену пришел современный и высокотехнологичный мод OpenComputers. Черепашек заменили роботы из мода Opencomputers. ComputerCraft.ru — это площадка для игры в Minecraft и общения на форуме, стабильные серверы и возможность в легкой и игровой форме обучиться программированию на языке Lua и реализовать все свои самые смелые инженерные идеи и решения и поделиться ими с другими игроками. За все время существования проекта сменилось 10 игровых серверов, которые посетили более 9000 игроков. На сайте собрано множество интересных программ и библиотек, статей, гайдов, веселых историй и горячих обсуждений, выдвинуто множество идей автоматизации и способов программирования. У нас играют и пишут программы как новички так и опытные программисты. А самые продвинутые участники нашего коллектива даже разрабатывают собственные авторские моды и аддоны, ресурспаки, репозитории, мощнейшие библиотеки и операционные системы. Регистрируйтесь прямо сейчас и присоединяйтесь к нашему дружному коллективу фанатов игры Minecraft , компьютерных и инженерных модов!
Как редактировать файлы с помощью Lua?



- Гости
Хочу в файл /baka.lua записать строчку «lol». Как это сделать? Самому разобраться не получилось, т. к. новичок в Lua. Будьте добры, помогите!
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
6 ответов на этот вопрос
- Сортировать по голосам
- Сортировать по дате
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Подписчики 0
Полезные ресурсы
Lua
Голосование
Информация
О нас
Проект ComputerCraft.ru основан в 2014 году. Особенностью наших игровых серверов является обязательное наличие компьютерных и технических модов и аддонов. Когда мод ComputerCraft устарел и больше не отвечал техническим требованиям, ему на замену пришел современный и высокотехнологичный мод OpenComputers. Черепашек заменили роботы из мода Opencomputers. ComputerCraft.ru — это площадка для игры в Minecraft и общения на форуме, стабильные серверы и возможность в легкой и игровой форме обучиться программированию на языке Lua и реализовать все свои самые смелые инженерные идеи и решения и поделиться ими с другими игроками. За все время существования проекта сменилось 10 игровых серверов, которые посетили более 9000 игроков. На сайте собрано множество интересных программ и библиотек, статей, гайдов, веселых историй и горячих обсуждений, выдвинуто множество идей автоматизации и способов программирования. У нас играют и пишут программы как новички так и опытные программисты. А самые продвинутые участники нашего коллектива даже разрабатывают собственные авторские моды и аддоны, ресурспаки, репозитории, мощнейшие библиотеки и операционные системы. Регистрируйтесь прямо сейчас и присоединяйтесь к нашему дружному коллективу фанатов игры Minecraft , компьютерных и инженерных модов!
Исходник Отправка уведомлений в Discord
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
chapo
В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,634 10,754
(!) Данный гайд создан для людей, которые не разбираются (и не хотят) в луа и просто хотят сделать для себя уведомления.
Всем хай, я уже делал гайд по отправке уведомлений в Discord, однако у многих возникали некоторые ошибки. В этом гайде я попробую более подробно описать процесс отправки.
Создание вебхука
Для начала нам необходимо создать вебхук на вашем сервере в Discord:
Спойлер: Создание вебхука
1. Заходим в настройки сервера
2. Переходим во вкладку «Интеграция» и нажимаем на «Посмотреть вебхуки»
3. Нажимаем на «Новый вебхук»
4. Выбираем канал в который будут отправляться уведомления (остальное настраивать не обязательно, это можно будет изменить в коде скрипта)
5. Нажимаем на «Копировать URL вебхука»
Готово, теперь у нас есть ссылка на вебхук (выглядит она примерно так: https://discord.com/api/webhooks/***/***
Изменение внешнего вида
Теперь нам надо создать внешний вид нашего сообщения, для этого заходим на сайт https://discohook.org/ (не реклама(ахаха)).
1. Настраиваем внешний вид нашего вебхука, например у меня получилось что-то такое:
2. Нажимаем на кнопку «JSON Data Editor»
3. В открывшемся окне нажимаем на «Copy to clipboard»
Написание говнокода
Теперь нам осталось лишь отправить POST запрос на ссылку вашего вебхука. Я бы мог сказать «На этом все, всем чао», однако многие читатели темы не разбираются в луа, хттп запросах и т.д., так что я просто дам вам готовую функцию отправки:
local effil = require('effil') -- подключаем библиотеку effil для отправки запросов local encoding = require('encoding') -- подключаем библиотеку encoding для перевода текста из Windows-1251 в UTF-8 local u8 = encoding.UTF8 encoding.default = 'CP1251' function SendWebhook(URL, DATA, callback_ok, callback_error) -- Функция отправки запроса local function asyncHttpRequest(method, url, args, resolve, reject) local request_thread = effil.thread(function (method, url, args) local requests = require 'requests' local result, response = pcall(requests.request, method, url, args) if result then response.json, response.xml = nil, nil return true, response else return false, response end end)(method, url, args) if not resolve then resolve = function() end end if not reject then reject = function() end end lua_thread.create(function() local runner = request_thread while true do local status, err = runner:status() if not err then if status == 'completed' then local result, response = runner:get() if result then resolve(response) else reject(response) end return elseif status == 'canceled' then return reject(status) end else return reject(err) end wait(0) end end) end asyncHttpRequest('POST', URL, , data = u8(DATA)>, callback_ok, callback_error) end function main() while not isSampAvailable() do wait(0) end sampRegisterChatCommand('dw', function(arg) SendWebhook('URL ВАШЕГО ВЕБХУКА', [[ВАШ JSON]]) sampAddChatMessage('DiscordWebhook >> сообщение отправлено!', -1) end) wait(-1) end
В данном коде мы видим функцию отправки и регистрацию команды в чате, после ввода которой и будет произведена отправка.
Все работает отлично, теперь перейдем к вставке переменных в сообщение. Для того что бы вставить переменную в сообщение мы будем использовать string.format.
Пример вставки переменных:
local MyId = select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)) local MyName = sampGetPlayerNickname(MyId) local MyLvl = sampGetPlayerNickname(MyId) local ServerAddress = table.concat(, ':') SendWebhook('https://discord.com/api/webhooks/1036002308410056704/ifuhIPMB2Z4f-Ard35OzHdcuobfrFSLt0mV3oRPLab027FXPc9D6aMWLKa8vu3aWA2ij', ([[ < "content": null, "embeds": [ < "description": "**Ник:** `%s`\n**Уровень:** `%s`\n**Айди:** `%s`\n**Сервер:** `%s`", "color": 16711757 >], "attachments": [] >]]):format(MyName, MyLvl, MyId, ServerAddress))
Спойлер: OLD
Всем ку привет здарова, сегодня покажу вам как отправлять такие сообщения на сервер discord от скрипта, так же в конце будет пример стиллера с таким сообщением:
Спойлер: 1. Создание вебхука
1. открываем настройки сервера
2. переходим во вкладку «интеграции» и нажимаем на «создать вебхук»
3. выбираем канал отправки (остальное можно не менять, так как аватарку и ник можно настраивать в коде скрипта)
4. нажимаем на «Копировать URL вебхука»
5. в коде меняем значение переменной URL на ранее скопированный юрл
Спойлер: 2. Код с пояснениями
Пример отправки сообщения через команду /ds.msg [text]
local encoding = require 'encoding' -- подключаем для корректной отправки русских букв encoding.default = 'CP1251' u8 = encoding.UTF8 local sampev = require 'lib.samp.events' -- подключаем для хука отправки ответа на диалог local effil = require 'effil' -- для ассинхронных запросов local url = 'URL' local data = < ['content'] = '', -- текст (меняется через команду, так что можно оставить пустым) ['username'] = 'Sended from .lua script!', -- ник отправителя ['avatar_url'] = 'https://c.tenor.com/Z9mXH7-MlcsAAAAS/sexy-black-man-thirst-trap.gif', -- ссылка на аватарку (можно убрать, будет дефолтная) ['tts'] = false, -- tts - text to speech - читалка сообщений (true/false) -- так же можно сделать еще много чего, подробнее тут: https://discord.com/developers/docs/resources/webhook >function main() while not isSampAvailable() do wait(0) end sampRegisterChatCommand('ds.msg', function(arg) data['username'] = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) -- ник отправителя = ник в игре data['content'] = arg -- делаем что бы текст сообщения был равен тексту который мы ввели после команды -- отправляем запрос asyncHttpRequest('POST', url, , data = u8(encodeJson(data))>, function(response) print('[WebHook] [OK] отправлено!') end, function(err) print('[WebHook] [ERROR] error: '..err) end) end) wait(-1) end -- функция для отправки ассинхронных сообщений function asyncHttpRequest(method, url, args, resolve, reject) local request_thread = effil.thread(function (method, url, args) local requests = require 'requests' local result, response = pcall(requests.request, method, url, args) if result then response.json, response.xml = nil, nil return true, response else return false, response end end)(method, url, args) -- Если запрос без функций обработки ответа и ошибок. if not resolve then resolve = function() end end if not reject then reject = function() end end -- Проверка выполнения потока lua_thread.create(function() local runner = request_thread while true do local status, err = runner:status() if not err then if status == 'completed' then local result, response = runner:get() if result then resolve(response) else reject(response) end return elseif status == 'canceled' then return reject(status) end else return reject(err) end wait(0) end end) end
