# Mathbot Discord

1. MathBot is a discord bot that contains a number of features to help with mathematics. It's primary features are: The bot is currently developed for python 3.6.4. Then open parameters.json and change tokens to the token of the bot used for development. Optionally change the other parameters.
2. Then navigate into the mathbot directory and run the bot with python entrypoint.py parameters.json. Contributing guide. Relevent discussion takes place on the MathBot Discord server. For small changes, feel free to fork the repo and make a pull request once you've made the changes.
3. Able to take photo of math on your phone and post it to discord; able to type an equation to the mathbot in discord to be typeset; other creative ideas; Zoom/Discord Expectations. Students are expected to behave just as they would in a real classroom.
4. MathBot - Discord Bot that will replace your TI calculator and even do more! We don't have this link yet, you can add it to this page by enter the link below.

MCPK-bot is a Discord Bot aiming to replace MathBot for movement calculations. Indeed, it was getting tiresome to redefine functions all the time, and the syntax is not very convenient to use. MathBot is still very useful as a general-purpose calculation tool.

Interactive tools and activites to aid the teaching of mathematics. Hundreds of randomly generated questions and answers.

Advantages over using Mathbot:

• Richer and more descriptive outputs
• The functions are built-in: no need to redefine them manually.
• The bot uses float math instead of fractions, so the simulation is more accurate.
• For simulating movement:
• X and Z movement are both considered, and momentum threshold is taken into account.
• Actions are read from left to right, which is way easier to read and write.
• All actions take direction as an optional argument.

## Distance

%distance <X> [Z]

Returns the real distance of a X by Z jump (distances in blocks, Z is optional)

The formula is simply ${displaystyle sqrt{max(0,X-0.6)^2 + max(0,Z-0.6)^2}}$

#### Examples:

• 4b jump: %distance 4
• 3x3 jump: %distance 3 3

## Duration

%duration <jumpHeight> [ceilingHeight]

Returns the duration of a jump with the given height (heights in blocks, ceilingHeight is optional)

#### Examples:

• -1.5b jump: %duration -1.5
• 3bc +1 jump: %duration 1 3

## Height

%height <jumpTicks> [ceilingHeight]

Returns the jump height of the player after n ticks (ceilingHeight is optional)

#### Examples:

• 12t jump: %height 12
• 2bc 9t jump: %height 9 2

## Blip

%blip <repetitions> [initialHeight][blipHeight] [lastJumpTicks]

Returns the height of the player after chaining consecutive blips (Y=0 is the bottom surface by convention).

• <repetitions> is the number of chained blips performed
• [initialHeight] is the player's initial height before the first jump (default: 0.0)
• [BlipHeight] is the height of the blip's top surface (e.g. 0.0625 for carpet, 0.1875 for trapdoor...)
• Unless specified with [lastJumpTicks], returns the peak of the jump by default (6 ticks).

#### Examples:

• starting from Y=200: %blip 4
• 17 chained blips on lilypad: %blip_top 17 0.015625

## Simulate

%simulate <actions> (or simply %<actions>)

Reads the given actions from left to right, and simulates the resulting movement.

### Actions:

Actions take two arguments:

• Ticks : the duration of the action, in ticks
• Direction (optional) : the direction (not facing) of the action, in degrees
ActionDescription
stop, stop_airNo input
sneak, sneak_airSneak
sneak45, sneak45_airSneak with 45° strafe
walk, walk_airWalk
walk45, walk45_airWalk with 45° strafe
sprint, sprint_airSprint
sprint45, sprint45_airSprint with 45° strafe
stopjumpJump without moving
walkjumpJump without sprinting
walkjump45Jump without sprinting, 45° strafe throughout the jump
Lwalkjump

Rwalkjump

Jump without sprinting, strafe Left or Right on the first tick.
sprintjumpSprintjump
sprintjump45Sprintjump forward, start 45° strafe after the first tick
Lsprintjump

Rsprintjump

Strafe Left or Right on the first tick of a sprintjump.

Example: used for rex bwmm

Lsprintjump45

Rsprintjump45

Strafe Left or Right throughout a sprintjump.

Example: used for 1bm 5-1

Add 'max_' in front to get the maximum momentum with that action (repeats the action 20 times)

### Special Tokens:

• Momentum, MM, and sets the previous actions as momentum (resets the position minus the last tick)
• Blocks and b convert the output landing distance to blocks (± 0.6 to X and Z if nonzero)
• Meters, and m convert the output landing distance to meters (same values as default)
• Position, pos, and p convert the output to a relative position (used when you're not calculating jump distance)

### Usage:

The parser reads the actions and tokens from left to right. Actions and tokens should be separated by spaces.

The Momentum token can be used anywhere between two actions.

The Blocks, Meters, and Position tokens are to be used at the end of the sequence (mutually exclusive).

### Examples:

• hh timing: % sprint sprintjump(12)
• rex bwmm: % walkjump(12,180) walk(1,180) Lsprintjump(12) sprintjump(12)
• 1bm 5-1: % walkjump(12,170) walk(1,170) Lsprintjump45(1,-10) sprint45_air(11) sprintjump45(14) b
Retrieved from 'https://www.mcpk.wiki/w/index.php?title=Bot&oldid=983'

## Some of Elemental's Features

### Quick Maths Discord Bot

 Web-based dashboard containing server settings and utilities Modmail, a ticket management system which allows server members to communicate with server staff through DMs User moderation tools paired with powerful logging ability and unique moderation commands to keep out the trolls Notification system which DM's users who have had a moderation action taken against them Automated moderation system which automatically removes messages containing configurable flags Public roles, allowing your members to get specified roles themselves Role reactors which allow your members to get public roles by reacting to a message Economy rewards (VIP) which allow users to receive a role after achieving a set economy score in the server Custom commands for custom text responses Server invite and media detectors which may be enabled to delete unwanted posts Anti-raid (VIP) module which may be enabled to detect raid behavior and respond automatically at various levels Automatic messages and roles for new members Votes, polls, and giveaways (VIP) to interact with your server members in a unique way Permissions system to keep Elemental's commands in the hands of those you choose All of this paired with some snappy, fun games to kill time with your server members