Envio de archivo sin nombre Telegram C#

Iniciado por rigorvzla, 27 Junio 2018, 03:36 AM

0 Miembros y 1 Visitante están viendo este tema.

rigorvzla

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.

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.

Eleкtro

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








rigorvzla

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