Portal SAMP
[Ajuda] Como usar o DCC_EditMessage? - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Como usar o DCC_EditMessage? (/showthread.php?tid=2514)

Páginas: 1 2


Como usar o DCC_EditMessage? - Flast$2 - 26/06/2022

Estou pensando em criar um sistema de Editar mensagem no discord para isso eu preciso de uma base do DCC_EditMessage alguém pode me ajudar?


RE: Como usar o DCC_EditMessage - White_Blue - 26/06/2022

Código PHP:
new message[128];
format(messagesizeof(message), "Sua mensagem");
DCC_SendChannelMessage(ID do seu canal do discordmessage);
DCC_EditMessage(message"Edição da sua mensagem!, 0); 



RE: Como usar o DCC_EditMessage - [JEFERSON_GAMES] - 05/12/2022

(26/06/2022 17:46)White_Blue Escreveu:
Código PHP:
new message[128];
format(messagesizeof(message), "Sua mensagem");
DCC_SendChannelMessage(ID do seu canal do discordmessage);
DCC_EditMessage(message"Edição da sua mensagem!, 0); 

Bom tbm não entendi como usa essa função pq na função 

DCC_EditMessage(message, ela pega a tring mas acho que tem que verificar com id da mensagem e parece não ter função para guarda id msg igual DCC_FindChannelById

Até tentei fazer para edita uma msg que for enviada em um canal usando public DCC_OnMessageCreate, mas nada

Não teria um outro exemplo para ajuda a mim e ao próximo ?


RE: Como usar o DCC_EditMessage? - Dr Editor - 05/12/2022

Código:
native DCC_Message:DCC_GetCreatedMessage(); // for use in DCC_SendChannelMessage result callback



RE: Como usar o DCC_EditMessage? - [JEFERSON_GAMES] - 06/12/2022

(05/12/2022 15:42)Dr Editor Escreveu:
Código:
native DCC_Message:DCC_GetCreatedMessage(); // for use in DCC_SendChannelMessage result callback

E isso e bom pq daria para obtet id da msg acabou de ser criada e editala mas vamos dizer que eu vou edita uma certa mensagem toda hora, vamos dizer que irá mostra uma contagem de membros, como posso colocar id da msg na função de edita tem uma função para guarda lá ?

Tentei fazer umas gambiarras mas n deu certo kk


RE: Como usar o DCC_EditMessage? - White_Blue - 06/12/2022

(06/12/2022 02:30)[JEFERSON_GAMES] Escreveu:
(05/12/2022 15:42)Dr Editor Escreveu:
Código:
native DCC_Message:DCC_GetCreatedMessage(); // for use in DCC_SendChannelMessage result callback

E isso e bom pq daria para obtet id da msg acabou de ser criada e editala mas vamos dizer que eu vou edita uma certa mensagem toda hora, vamos dizer que irá mostra uma contagem de membros, como posso colocar id da msg na função de edita tem uma função para guarda lá ?

Tentei fazer umas gambiarras mas n deu certo kk
  

Código PHP:
native DCC_EditMessage(DCC_Message:message, const content[], DCC_Embed:embed DCC_Embed:0); 



RE: Como usar o DCC_EditMessage? - [JEFERSON_GAMES] - 06/12/2022

Preciso salva id da mensagem criada para edita a qualquer momento, mas não sei como amarzena id da mensagem


RE: Como usar o DCC_EditMessage? - White_Blue - 06/12/2022

(06/12/2022 18:48)[JEFERSON_GAMES] Escreveu: Preciso salva id da mensagem criada para edita a qualquer momento, mas não sei como amarzena id da mensagem

É simples. Basta ter o modo desenvolvedor do Discord ativado, tendo isso clica com o botão direito do mouse na mensagem e vai em copiar ID.


RE: Como usar o DCC_EditMessage? - [JEFERSON_GAMES] - 06/12/2022

(06/12/2022 19:36)White_Blue Escreveu:
(06/12/2022 18:48)[JEFERSON_GAMES] Escreveu: Preciso salva id da mensagem criada para edita a qualquer momento, mas não sei como amarzena id da mensagem

É simples. Basta ter o modo desenvolvedor do Discord ativado, tendo isso clica com o botão direito do mouse na mensagem e vai em copiar ID.

Sim obter id da mensagem e fácil, mas usala na função DCC_EditMessage que è o dificil, como uso id na função ?


RE: Como usar o DCC_EditMessage? - Carlos Victor - 07/12/2022

Eu fui atrás e consegui.

Bom, basicamente a função `DCC_SendChannelMessage` possui o paramêtro para chamar um callback, no inicio eu não sabia para que servia, mas depois um cara do discord SA-MP me explicou como funciona.

Por que não? `DCC_EditMessage(messageid, string[])`? Pois é, eu também pensei que poderia ser fácil assim, mas pelo o que ele me explicou, isso não pode acontecer por que é necessário que a mensagem seja enviada primeiro(para retornar o ID) e por isso tem o parametro callback na função, para você conseguir coletar o ID da mensagem após ser confirmada o envio.

Vou deixar o exemplo que eu fiz abaixo:
Código:
#include <a_samp>
#include <discord-connector>
#include <discord-command>

#define DCC_CHANNEL_TEST         ("Channel ID")

new DCC_Channel:channel_test = DCC_INVALID_CHANNEL;
new DCC_Message:msg_id = DCC_Message:0;

main(){}

public OnGameModeInit()
{
    channel_test = DCC_FindChannelById(DCC_CHANNEL_TEST);
    
    DCC_SendChannelMessage(channel_test, "Mensagem teste.", "GetMessageTestID");
    return 1;
}

forward GetMessageTestID();
public GetMessageTestID()
{
    new DCC_Message:message = DCC_GetCreatedMessage();
    if(msg_id != DCC_Message:0)
    {
        DCC_DeleteInternalMessage(msg_id);
    }
    msg_id = message;
    return 1;
}

DCMD:edit(user, channel, params[])
{    
    DCC_EditMessage(msg_id, params);
    return 1;
}

Isso foi apenas um teste que eu fiz, e funcionou.

Espero que tenho respondido sua dúvida.