Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: rigorvzla en 27 Junio 2018, 03:36 am



Título: Envio de archivo sin nombre Telegram C#
Publicado por: rigorvzla en 27 Junio 2018, 03:36 am
Buenas noches amigos, aqui les traigo un problema que no le encuentro solucion aun, tengo un codigo para poder enviar archivos de diferentes formatos a una cuenta de telegram, todo esta bien , el problema es que llegan los archivos PERO sin nombre, me explico segui "todo" como debe ser. y al enviarlo en caso de un documento, envia el archivo con el nombre "Document" y sin extension de paso.

Espero puedan ayudarme con la solucion a esto y poder enviar el archivo con su nombre y extension y asi llegue al otro lado. anexo el codigo funcional expetuando eso.

Código:
Telegram.Bot.Types.InputFiles.InputTelegramFile f = new Telegram.Bot.Types.InputFiles.InputTelegramFile(System.IO.File.Open(ofd.FileName, FileMode.Open));
                               
                                if (Path.GetExtension(ofd.FileName) == ".doc" || Path.GetExtension(ofd.FileName) == ".docx" || Path.GetExtension(ofd.FileName) == ".rtf" || Path.GetExtension(ofd.FileName) == ".pdf")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendDocumentAsync(Settings.Default.idTelegram, f.Content, f.FileName = ofd.SafeFileName);
                                }
                                else if (Path.GetExtension(ofd.FileName) == ".jpg" || Path.GetExtension(ofd.FileName) == ".jpge" || Path.GetExtension(ofd.FileName) == ".png" || Path.GetExtension(ofd.FileName) == ".bmp")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendPhotoAsync(Settings.Default.idTelegram, f.Content, f.FileName = ofd.SafeFileName);
                                }
                                else if (Path.GetExtension(ofd.FileName) == ".mp3" || Path.GetExtension(ofd.FileName) == ".mp2" || Path.GetExtension(ofd.FileName) == ".wav")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendAudioAsync(Settings.Default.idTelegram, f.Content, f.FileName = ofd.SafeFileName);
                                }
                                else if (Path.GetExtension(ofd.FileName) == ".mp4" || Path.GetExtension(ofd.FileName) == ".3gp" || Path.GetExtension(ofd.FileName) == ".avi" || Path.GetExtension(ofd.FileName) == ".mkv")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendVideoAsync(Settings.Default.idTelegram, f.Content);
                                }                 

Esta en un simple boton, gracias de antemano , espero sua tencion y ayuda.
Anexo, la informacion que encontre en internet esta desactualizada respecto al que descargue (al parecer la ultima version), pueden fijarse en los planteamientos diferentes que hay y el mio.


Título: Re: Envio de archivo sin nombre Telegram C#
Publicado por: Eleкtro en 27 Junio 2018, 04:22 am
Siempre la misma ausencia de información, este problema tiene que ver con la implementación de la librería de terceros para Telegram que estés usando, la cual al menos podrías mencionar su nombre o dejar un enlace. Lo que debes hacer es documentarte sobre sus miembros/métodos para comprobar si hay alguna sobrecarga en la que puedas especificar el nombre del archivo, de lo contrario o bien le haces una petición al autor para que implemente eso, o bien cojes el código fuente y tratas de implementarlo tú, no hay otra solución.

saludos


Título: Re: Envio de archivo sin nombre Telegram C#
Publicado por: rigorvzla en 27 Junio 2018, 04:29 am
aqui esta el enlace de donde saque eso
https://github.com/TelegramBots/telegram.bot

justo leia respecto a eso viendo que no consegui donde modificar el default del componente "Content" de todos modos seguire leyendo a ver que consigo