Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

Commande View MP


Pouney

Messages recommandés

Bonjour à toutes & à tous.

Je fais un nouveau sujet sur la commande View MP qui à été partagé sur un forum anglais (merci à @Fox pour le partage)

Je vous traduit donc cette commande partagé par Jynx.

 

Petit aperçu : 

Pour avoir accès à cette image, merci de vous connecter.

 

C'est parti ! 

 

Ajoutez ceci à Plus.HabboHotel.Rooms.Chat.Commands.Moderator :

(Créez le fichier ViewPrivateMessageCommand.cs)

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Data;
using Plus.HabboHotel.GameClients;
using Plus.HabboHotel.Rooms;
using Plus.Communication.Packets.Outgoing.Users;
using Plus.Communication.Packets.Outgoing.Rooms.Avatar;
using System.Threading;
using System.Threading.Tasks;
using Plus.Communication.Packets.Outgoing.Rooms.Chat;
using Plus.HabboHotel.Items;
using Plus.HabboHotel.Catalog;
using Plus.Communication.Packets.Outgoing.Inventory.Furni;
using Plus.Database.Interfaces;
using Plus.Communication.Packets.Outgoing.Notifications;
using Plus.Communication.Packets.Outgoing.Rooms.Engine;

namespace Plus.HabboHotel.Rooms.Chat.Commands.Moderator
{
    class ViewPrivateMessageCommand : IChatCommand
    {
        public string PermissionRequired
        {
            get { return "command_view_pms"; }
        }

        public string Parameters
        {
            get { return "%pseudo%"; }
        }

        public string Description
        {
            get { return "Permet de voir les MP récents d'un utilisateur."; }
        }

        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Entrez le nom d'utilisateur de l'utilisateur que vous souhaitez afficher les messages privés.");
                return;
            }

            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
            if (TargetClient == null)
            {
                Session.SendWhisper("Une erreur s'est produite lors de la recherche de cet utilisateur, peut-être qu'il n'est pas en ligne.");
                return;
            }

            if (TargetClient.GetHabbo() == null)
            {
                Session.SendWhisper("Une erreur s'est produite lors de la recherche de cet utilisateur, peut-être qu'il n'est pas en ligne.");
                return;
            }
            StringBuilder b = new StringBuilder();
            b.Append("Messages privés - " + TargetClient.GetHabbo().Username + "\n\n");

            using (IQueryAdapter db = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                db.SetQuery("SELECT * FROM `chatlogs_console` WHERE `from_id` = @id OR `to_id` = @id ORDER BY id DESC LIMIT 100");
                db.AddParameter("id", TargetClient.GetHabbo().Id);
                db.RunQuery();
                DataTable t = db.getTable();

                foreach (DataRow r in t.Rows)
                {
                    b.Append(UnixTimeStampToDateTime((double)PlusEnvironment.GetUnixTimestamp()) + "\n");
                    b.Append(getUsernameFromId(Convert.ToInt32(r["from_id"])) + " à " + getUsernameFromId(Convert.ToInt32(r["to_id"])) + ": " + Convert.ToString(r["message"]) + "\n\n");
                }
            }

            Session.SendMessage(new MOTDNotificationComposer(b.ToString()));
        }

        private DateTime UnixTimeStampToDateTime(double unixTimeStamp)
        {
            // Unix timestamp is seconds past epoch
            System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
            dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime();
            return dtDateTime;
        }

        private string getUsernameFromId(int userId)
        {
            if (PlusEnvironment.GetHabboById(userId) != null)
                return PlusEnvironment.GetHabboById(userId).Username;

            using (IQueryAdapter db = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                db.SetQuery("SELECT `username` FROM `users` WHERE `id` = @id");
                db.AddParameter("id", userId);
                db.RunQuery();
                return db.getString();
            }
        }
    }
}

Ensuite, ouvrez CommandManager.cs et trouvez ceci:

this.Register("ipban", new IPBanCommand());

Ajoutez ceci après : 

this.Register("viewpm", new ViewPrivateMessageCommand());

Ensuite, exécutez cette requête dans votre base de données (remplacez l'ID du Staff avec le rang minimum du staff autorisé à avoir cette commande):

INSERT INTO `permissions_commands` VALUES ('command_view_pms', 'STAFF ID', '0');

 

 

Voilà j'espère n'avoir oublié aucunes traductions et remercie Jake pour cette commande.

Pour les alternatives au CommandManager (nommer autrement la commande) je vous invite à faire une demande.

 

Cordialement.

:bloggif_595b78fd3fb48: PAS D'AIDE EN MP :bloggif_595b78fd3fb48:

Sites Webs :

- HostRetro.com

- Ado-Lite.fr

- Alls-Heberg.fr

 

 

 

Hr_Ban.png

Lien à poster
Partager sur d’autres sites

Cimer pour le partage mon ami

Besoin d'une ressource pour ton rétro ? Un CMS ? Un Addon ? 

 

1490721717-ch.png

 

Besoin d'une base de donnée pour ton rétro ? Un dédipass une base de donnée pendant 4 mois !

Alors rejoins moi vite sur http://comahost.com

https://www.facebook.com/comahost/

 

1490976330-capture-d-ecran-2017-03-31-a-

 

Les crocodiles en force !

 

crocnhammocks.png

Lien à poster
Partager sur d’autres sites

Il y a 2 heures, Nico a dit :

Cimer pour le partage mon ami

 

Il y a 2 heures, Brandon a dit :

Merci :)

 

Il y a 2 heures, Fox a dit :

Pas de quoi ^^'

hehe

Il y a 1 heure, TheJill a dit :

merci , je pourrais voir les conversations coquines de mes joueurs futurs joueurs :D

coquin !

il y a 50 minutes, Sircapa a dit :

Merci pour le partage elle en aideras plus d'un ;) 

 

Avec plaisir !

:bloggif_595b78fd3fb48: PAS D'AIDE EN MP :bloggif_595b78fd3fb48:

Sites Webs :

- HostRetro.com

- Ado-Lite.fr

- Alls-Heberg.fr

 

 

 

Hr_Ban.png

Lien à poster
Partager sur d’autres sites

  • 5 mois plus tard...

Pour fixer l'heure changer cette ligne 

b.Append(UnixTimeStampToDateTime((double)PlusEnvironment.GetUnixTimestamp()) + "\n");

par 

 

b.Append(UnixTimeStampToDateTime((double)r["timestamp"]) + "\n");

Si tu souhaites contribuer à ma motivation, aides-moi en réagissant à mes postes un +1 me ferait réellement plaisir !

 

Site web pour mon émulateur: https://habbo.site/

Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...