Roblox Script Roblox Chat Simulator 2 – Spambot (open src and documented)

local encodemsg = require(game:GetService("Players").LocalPlayer.PlayerGui.Screen.Scripts.Loader.Framework).EncodeMessageAuthorization
local msg = "me when" --message
local mentionuser = "everyone" --specific users name or everyone, or just put anything else and it wont do anything, if you want to ping multiple people put their userids as <@USERID> in the message section
local threadid = 0 --leave as 0 if not in a thread
local Type = "Server" --Server or DM
local ServerId = 0 --send a message and look at a remote spy for these
local ChannelId = 0
local ReplyId = 0 --leave blank if not a reply
if game.Players:FindFirstChild(mentionuser) then --is the mentionuser value a player?
    msg = msg.." | <@"..tostring(game.Players[mentionuser].UserId)..">" --changes the message to include the person to mention
end
if mentionuser == "everyone" then --is the mentionuser value everyone?
    msg = msg.." | @everyone" --change the message to @ everyone
end
game:GetService("RunService").RenderStepped:Connect(function() --loop
local args = { --arguments for the remotefunction
    [1] = {
        ["Message"] = msg,
        ["ServerId"] = ServerId,
        ["Type"] = "SERVER",
        ["MessageToken"] = encodemsg(msg), --uses the function in the framework to encode the message so that the server can post the message (thx decompiler <3)
        ["Files"] = {}, --uh if you want put "rbxassetid://ASSETID" here
        ["ChannelId"] = ChannelId,
        ["ReplyMessageId"] = ReplyId,
        ["ThreadId"] = threadid
    }
}
game:GetService("ReplicatedStorage").Functions.SendMessage:InvokeServer(unpack(args)) --finally send the message
end)