Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
guides:apps:discord [2024-06-06 17:48] – v2 port examples geek | guides:apps:discord [2024-06-06 18:18] (current) – add date geek | ||
---|---|---|---|
Line 21: | Line 21: | ||
Send files/ | Send files/ | ||
<code AutoHotkey> | <code AutoHotkey> | ||
- | #Requires AutoHotkey v2 | + | #Requires AutoHotkey v2.0 |
data := CreateFormData(Map( | data := CreateFormData(Map( | ||
" | " | ||
- | " | + | " |
- | " | + | " |
)) | )) | ||
http := ComObject(" | http := ComObject(" | ||
Line 40: | Line 40: | ||
* Thanks to Coco: https:// | * Thanks to Coco: https:// | ||
* Modified version by SKAN, 09/ | * Modified version by SKAN, 09/ | ||
- | * Ported to AHKv2 and modified by G33kDude | + | * Ported to AHKv2 and modified by G33kDude |
* | * | ||
* @param {Map} formData The fields to encode in the form body | * @param {Map} formData The fields to encode in the form body | ||
Line 58: | Line 58: | ||
*/ | */ | ||
CreateFormData(formData) { | CreateFormData(formData) { | ||
- | boundary := Format( | + | boundary := Random(2**60, 2**63-1) Random(2**60, 2**63-1), buf := Buffer() |
- | " | + | |
- | | + | |
- | | + | |
- | ) | + | |
- | buf := Buffer() | + | |
- | AppendStr(str) { | + | |
- | oldSize := buf.Size | + | |
- | buf.Size += strSize := StrPut(str, "UTF-8") - 1 | + | |
- | StrPut(str, buf.Ptr + oldSize, strSize, " | + | |
- | } | + | |
- | AppendFile(file) { | + | |
- | file.Pos | + | |
- | oldSize := buf.Size | + | |
- | buf.Size += file.Length | + | |
- | file.RawRead(buf.ptr + oldSize, file.Length) | + | |
- | } | + | |
for k, v in formData { | for k, v in formData { | ||
if v ~= " | if v ~= " | ||
- | filePath := LTrim(v, " | + | filePath := LTrim(v, " |
- | | + | |
file := FileOpen(filePath, | file := FileOpen(filePath, | ||
- | | + | |
- | | + | . '"; |
- | ' | + | . " |
- | " | + | |
- | | + | } else { ; Regular text |
- | AppendFile(file) | + | |
- | AppendStr(" | + | . '" |
- | | + | |
} | } | ||
- | | ||
- | AppendStr( | ||
- | " | ||
- | ' | ||
- | v " | ||
- | ) | ||
} | } | ||
- | | + | |
| | ||
return { | return { | ||
Line 104: | Line 79: | ||
} | } | ||
| | ||
- | | + | |
- | | + | |
- | n := file.ReadUInt() | + | |
- | return ( | + | |
- | (n | + | |
- | (n | + | |
- | | + | |
- | (n & 0xFFFF = 0xD8FF | + | |
- | (n & 0xFFFF = 0x4949 | + | |
- | (n & 0xFFFF = 0x4D4D | + | |
- | " | + | |
- | | + | |
} | } | ||
- | | + | |
+ | oldSize := buf.Size, buf.Size += file.Length | ||
+ | file.Pos := 0, file.RawRead(buf.ptr + oldSize, file.Length) | ||
+ | } | ||
+ | MimeType(file) => ( | ||
+ | file.Pos := 0, n := file.ReadUInt(), | ||
+ | (n = 0x474E5089) ? " | ||
+ | (n = 0x38464947) ? " | ||
+ | (n & 0xFFFF = 0x4D42 | ||
+ | (n & 0xFFFF = 0xD8FF | ||
+ | (n & 0xFFFF = 0x4949 | ||
+ | (n & 0xFFFF = 0x4D4D | ||
+ | " | ||
+ | ) | ||
SafeArrayFromBuffer(buf) { | SafeArrayFromBuffer(buf) { | ||
- | arr := ComObjArray(0x11, | + | arr := ComObjArray(0x11, |
DllCall(" | DllCall(" | ||
" | " |