Что нового

Сеть, интернет отправить текстовый файл с компьютера в телеграмм бот

RockMan

Новичок
Сообщения
67
Репутация
0
отправить текстовый файл с компьютера в телеграмм бот, кто может помочь с этим ?
 

SealAlbinos

Продвинутый
Сообщения
156
Репутация
58
там в примерах есть параметр
Код:
#include "Telegram UDF.au3"
$ChatID = "Your_Chat_ID_For_Test";id чата куда отправлять файл
_InitBot("Bot_ID","Bot_Token"); токен бота
ConsoleWrite("Test _SendDocument -> "  & @TAB & _SendDocument($ChatID,"C:\document.txt","Test _SendDocument") & @CRLF)
 
Автор
R

RockMan

Новичок
Сообщения
67
Репутация
0
ID чата своего я узнал, токен бота тоже у бот фазера, а Bot_ID это как получить?

error: _InitBot() called with wrong number of args
 
Автор
R

RockMan

Новичок
Сообщения
67
Репутация
0
з начит заметил такую проблему _InitBot не работает с windows 7 на вин10 все отправляет и работает а на вин7 скрипт вылетает с ошибкой и на форуме чет такое надыбал английском что не корректно работает на вин7, как быть?
 

SealAlbinos

Продвинутый
Сообщения
156
Репутация
58
з начит заметил такую проблему _InitBot не работает с windows 7 на вин10 все отправляет и работает а на вин7 скрипт вылетает с ошибкой и на форуме чет такое надыбал английском что не корректно работает на вин7, как быть?
Если мне память не изменяет, то это не проблема скрипта, а проблема сборки винды, что там tls отключен
Нажми сочетание клавиш Win+R и введи inetcpl.cpl
Перейди во вкладку "Дополнительно".
В списке найди протокол TLS 1.0, TLS 1.1 или TLS 1.2.
Поставь галочку, чтобы включить и нажми применить

ну и еще пройтись фиксом от майкрософт https://download.microsoft.com/down...F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi
а потом ребутнуть комп и проверять
 
Автор
R

RockMan

Новичок
Сообщения
67
Репутация
0
Если мне память не изменяет, то это не проблема скрипта, а проблема сборки винды, что там tls отключен
Нажми сочетание клавиш Win+R и введи inetcpl.cpl
Перейди во вкладку "Дополнительно".
В списке найди протокол TLS 1.0, TLS 1.1 или TLS 1.2.
Поставь галочку, чтобы включить и нажми применить

ну и еще пройтись фиксом от майкрософт https://download.microsoft.com/down...F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi
а потом ребутнуть комп и проверять
зашел, там галочки уже стоят.. может проблема еще в чем то может быть
 

SealAlbinos

Продвинутый
Сообщения
156
Репутация
58
зашел, там галочки уже стоят.. может проблема еще в чем то может быть
Код:
#include <WinHttp.au3>

_SendDocument("чат id","токен бота","путь до файла")

Func _SendDocument($ChatID,$bot_token,$Document,$Caption = '',$ReplyMarkup = Default,$ReplyToMessage = '',$DisableNotification = False)
    Local $Query = 'https://api.telegram.org/bot'&$bot_token&'/sendDocument'
    Local $hOpen = _WinHttpOpen()
    Local $Form = '<form action="' & $Query & '" method="post" enctype="multipart/form-data">' & _
                  '<input type="text" name="chat_id"/>'  & _
                  '<input type="file" name="document"/>' & _
                  '<input type="text" name="caption"/>'
    If $ReplyMarkup <> Default Then $Form &= ' <input type="text" name="reply_markup"/>'
    If $ReplyToMessage <> '' Then $Query &= '<input type="text" name="reply_to_message_id"/>'
    If $DisableNotification Then $Form &= ' <input type="text" name="disable_notification"/>'
    $Form &= '</form>'
    Local $Response = _WinHttpSimpleFormFill($Form,$hOpen,Default, _
                       "name:chat_id",  $ChatID, _
                       "name:document", $Document,   _
                       "name:caption",  $Caption, _
                       "name:reply_markup", $ReplyMarkup, _
                       "name:reply_to_message_id", $ReplyToMessage, _
                       "name:disable_notification", $DisableNotification)
    _WinHttpCloseHandle($hOpen)
    MsgBox(0,"",$Response)
EndFunc

Попробовать напрямую, если так же будет ошибка, то уже гуглить на что именно жалуется
Сообщение автоматически объединено:

Можно еще конечно попробовать сделать через winhttp.winhttprequest.5.1, но сомневаюсь что это решит проблему
ибо проблема на стороне конкретно винды, а не скрипта
 

Вложения

  • WinHttp.au3
    135.4 КБ · Просмотры: 4
  • WinHttpConstants.au3
    21.8 КБ · Просмотры: 5
Автор
R

RockMan

Новичок
Сообщения
67
Репутация
0
Код:
#include <WinHttp.au3>

_SendDocument("чат id","токен бота","путь до файла")

Func _SendDocument($ChatID,$bot_token,$Document,$Caption = '',$ReplyMarkup = Default,$ReplyToMessage = '',$DisableNotification = False)
    Local $Query = 'https://api.telegram.org/bot'&$bot_token&'/sendDocument'
    Local $hOpen = _WinHttpOpen()
    Local $Form = '<form action="' & $Query & '" method="post" enctype="multipart/form-data">' & _
                  '<input type="text" name="chat_id"/>'  & _
                  '<input type="file" name="document"/>' & _
                  '<input type="text" name="caption"/>'
    If $ReplyMarkup <> Default Then $Form &= ' <input type="text" name="reply_markup"/>'
    If $ReplyToMessage <> '' Then $Query &= '<input type="text" name="reply_to_message_id"/>'
    If $DisableNotification Then $Form &= ' <input type="text" name="disable_notification"/>'
    $Form &= '</form>'
    Local $Response = _WinHttpSimpleFormFill($Form,$hOpen,Default, _
                       "name:chat_id",  $ChatID, _
                       "name:document", $Document,   _
                       "name:caption",  $Caption, _
                       "name:reply_markup", $ReplyMarkup, _
                       "name:reply_to_message_id", $ReplyToMessage, _
                       "name:disable_notification", $DisableNotification)
    _WinHttpCloseHandle($hOpen)
    MsgBox(0,"",$Response)
EndFunc

Попробовать напрямую, если так же будет ошибка, то уже гуглить на что именно жалуется
Сообщение автоматически объединено:

Можно еще конечно попробовать сделать через winhttp.winhttprequest.5.1, но сомневаюсь что это решит проблему
ибо проблема на стороне конкретно винды, а не скрипта
при отправке просто выводит пустой msgbox , сообщение не отправляется, но если выполнить на вин10 его, то все отправляет) но при этом ошибки на вин7 уже нету как на старом скрипте, просто ничего не отправляет
 

SealAlbinos

Продвинутый
Сообщения
156
Репутация
58
при отправке просто выводит пустой msgbox , сообщение не отправляется, но если выполнить на вин10 его, то все отправляет) но при этом ошибки на вин7 уже нету как на старом скрипте, просто ничего не отправляет
Код:
_SendDocument("чат id","токен бота","путь до файла")

Func _SendDocument($chat_id,$bot_token,$Document)
    $sBoundary = StringFormat("%s%.5f", "MyBot", Random(10000, 99999))
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", 'https://api.telegram.org/bot'&$bot_token&'/sendDocument')
    $oHTTP.SetRequestHeader("Content-Type", "multipart/form-data; boundary="&$sBoundary)
    $Data = "--"&$sBoundary & @CRLF
    $Data &= 'Content-Disposition: form-data; name="chat_id"' & @CRLF & @CRLF
    $Data &= $chat_id & @CRLF
    $Data &= "--" & $sBoundary & @CRLF
    $Data &= 'Content-Disposition: form-data; name="caption"' & @CRLF & @CRLF
    $Data &= "" & @CRLF
    $Data &= "--" & $sBoundary & @CRLF
    $Data &= 'Content-Disposition: form-data; name="parse_mode"' & @CRLF & @CRLF
    $Data &= "HTML" & @CRLF
    $Data &= "--" & $sBoundary & @CRLF
    $Data &= 'Content-Disposition: form-data; name="document"; filename="1.txt"' & @CRLF
    $Data &= 'Content-Type: document' & @CRLF & @CRLF
    $Data &= BinaryToString(FileRead(FileOpen($Document, 16))) & @CRLF
    $Data &= "--"&$sBoundary & "--"
    $Data = StringToBinary($Data,1)
    $oHTTP.Send($Data)
    MsgBox(0,$oHTTP.status,$oHTTP.ResponseText)
EndFunc

Ласт попытка, может хоть он выдаст подобие ошибки
 
Автор
R

RockMan

Новичок
Сообщения
67
Репутация
0
Error: The requested action with this object has failed. вот такое выдало, такое же было и в самом первом варианте
 
Верх