add presentation
This commit is contained in:
parent
0e2421e00c
commit
4fa20136af
|
@ -0,0 +1,24 @@
|
|||
*.aux
|
||||
*.glo
|
||||
*.idx
|
||||
*.log
|
||||
*.toc
|
||||
*.ist
|
||||
*.acn
|
||||
*.acr
|
||||
*.alg
|
||||
*.bbl
|
||||
*.blg
|
||||
*.dvi
|
||||
*.glg
|
||||
*.gls
|
||||
*.ilg
|
||||
*.ind
|
||||
*.lof
|
||||
*.lot
|
||||
*.maf
|
||||
*.mtc
|
||||
*.mtc1
|
||||
*.out
|
||||
*.synctex.gz
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
\beamer@endinputifotherversion {3.36pt}
|
||||
\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}
|
||||
\headcommand {\beamer@framepages {1}{1}}
|
||||
\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}
|
||||
\headcommand {\beamer@sectionpages {1}{1}}
|
||||
\headcommand {\beamer@subsectionpages {1}{1}}
|
||||
\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}
|
||||
\headcommand {\beamer@framepages {2}{2}}
|
||||
\headcommand {\slideentry {1}{0}{2}{3/3}{}{0}}
|
||||
\headcommand {\beamer@framepages {3}{3}}
|
||||
\headcommand {\slideentry {1}{0}{3}{4/4}{}{0}}
|
||||
\headcommand {\beamer@framepages {4}{4}}
|
||||
\headcommand {\sectionentry {2}{Project Info}{5}{Project Info}{0}}
|
||||
\headcommand {\beamer@sectionpages {2}{4}}
|
||||
\headcommand {\beamer@subsectionpages {2}{4}}
|
||||
\headcommand {\slideentry {2}{0}{1}{5/5}{}{0}}
|
||||
\headcommand {\beamer@framepages {5}{5}}
|
||||
\headcommand {\slideentry {2}{0}{2}{6/6}{}{0}}
|
||||
\headcommand {\beamer@framepages {6}{6}}
|
||||
\headcommand {\slideentry {2}{0}{3}{7/7}{}{0}}
|
||||
\headcommand {\beamer@framepages {7}{7}}
|
||||
\headcommand {\sectionentry {3}{Grading}{8}{Grading}{0}}
|
||||
\headcommand {\beamer@sectionpages {5}{7}}
|
||||
\headcommand {\beamer@subsectionpages {5}{7}}
|
||||
\headcommand {\slideentry {3}{0}{1}{8/8}{}{0}}
|
||||
\headcommand {\beamer@framepages {8}{8}}
|
||||
\headcommand {\slideentry {3}{0}{2}{9/9}{}{0}}
|
||||
\headcommand {\beamer@framepages {9}{9}}
|
||||
\headcommand {\slideentry {3}{0}{3}{10/10}{}{0}}
|
||||
\headcommand {\beamer@framepages {10}{10}}
|
||||
\headcommand {\slideentry {3}{0}{4}{11/11}{}{0}}
|
||||
\headcommand {\beamer@framepages {11}{11}}
|
||||
\headcommand {\slideentry {3}{0}{5}{12/12}{}{0}}
|
||||
\headcommand {\beamer@framepages {12}{12}}
|
||||
\headcommand {\slideentry {3}{0}{6}{13/13}{}{0}}
|
||||
\headcommand {\beamer@framepages {13}{13}}
|
||||
\headcommand {\slideentry {3}{0}{7}{14/14}{}{0}}
|
||||
\headcommand {\beamer@framepages {14}{14}}
|
||||
\headcommand {\beamer@partpages {1}{14}}
|
||||
\headcommand {\beamer@subsectionpages {8}{14}}
|
||||
\headcommand {\beamer@sectionpages {8}{14}}
|
||||
\headcommand {\beamer@documentpages {14}}
|
||||
\headcommand {\def \inserttotalframenumber {10}}
|
Binary file not shown.
|
@ -0,0 +1,161 @@
|
|||
% !TeX program = xelatex
|
||||
% !TeX encoding = UTF-8
|
||||
\documentclass{beamer}
|
||||
|
||||
%-------------------------------------------------------
|
||||
\usetheme[background=dark, progressbar=foot]{metropolis}
|
||||
\title{Discord Chat Bot}
|
||||
\subtitle{Asynchronous PHP}
|
||||
\date{May 2, 2017}
|
||||
\author{Benjamin Hamilton Harris}
|
||||
\institute{Northern Michigan University}
|
||||
|
||||
\usepackage{multicol}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\begin{frame}{Discord}
|
||||
Discord Chat Client
|
||||
\begin{itemize}
|
||||
\item Marketed towards gamers
|
||||
\item Rich text chat
|
||||
\item Silky smooth voice chat
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Discord API}
|
||||
Discord exposes a REST-ful HTTP API
|
||||
\begin{itemize}
|
||||
\item Raw HTTP requests are cumbersome
|
||||
\item Many wrapper libraries available
|
||||
\item JavaScript, Python most popular
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{Project Info}
|
||||
|
||||
\begin{frame}{Technology Stack}
|
||||
Technologies
|
||||
\begin{itemize}
|
||||
\item PHP 7
|
||||
\item DiscordPHP API wrapper library
|
||||
\item ReactPHP Promises for Async
|
||||
\item Composer
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Project Background}
|
||||
Proposal
|
||||
\begin{itemize}
|
||||
\item Started as passion project
|
||||
\item General purpose chat bot
|
||||
\item Rapidly growing feature set
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{Grading}
|
||||
|
||||
\begin{frame}{Possible Points}
|
||||
\begin{multicols}{2}
|
||||
\begin{itemize}
|
||||
\item Get User Info [1 pts]
|
||||
\item Get Profile Photo for arbitrary User [1 pts]
|
||||
\item Get Server Info [2 pts]
|
||||
\item Display Bot Status/Uptime [1 pts]
|
||||
\item Send direct message to any user [1 pts]
|
||||
\item Permissions for commands based on user's permissions [2 pts]
|
||||
\item Talk to Cleverbot [3 pts]
|
||||
\item Save images and retrieve them later [5 pts]
|
||||
\item Save text and retrieve it later [2 pts]
|
||||
\item Send me a text message [2 pts]
|
||||
\item Send emails to a saved address for a user [2 pts]
|
||||
\end{itemize}
|
||||
\end{multicols}
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Possible Points, cont.}
|
||||
\begin{multicols}{2}
|
||||
\begin{itemize}
|
||||
\item Internet lookups
|
||||
\begin{enumerate}[--]
|
||||
\item Weather for any city [3 pts]
|
||||
\item Time for any city [3 pts]
|
||||
\item Save a preferred city for each user for time and weather [2 pts]
|
||||
\item Look up a random joke [2 pts]
|
||||
\item \textbf{Send an image from Google Images [5 pts]}
|
||||
\item Stream music from YouTube to voice channel [10 pts]
|
||||
\end{enumerate}
|
||||
\item Create and vote on polls [5 pts]
|
||||
\item Chat games (TicTacToe, Hangman) [10 pts]
|
||||
\item Text transform (emojis, unicode fonts, and ASCII art) [3 pts]
|
||||
\item Roll an n-sided die [1 pts]
|
||||
\item 8-Ball style fortunes [2 pts]
|
||||
\end{itemize}
|
||||
\end{multicols}
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\begin{center}
|
||||
\Large\textbf{Demo Time!}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Grading Scale}
|
||||
|
||||
63+ $\rightarrow$ \textbf{A}
|
||||
|
||||
56+ $\rightarrow$ B
|
||||
|
||||
49+ $\rightarrow$ C
|
||||
|
||||
42+ $\rightarrow$ D
|
||||
|
||||
35+ $\rightarrow$ F
|
||||
|
||||
\textbf{65/70 possible points from proposal achieved}
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\begin{frame}{Possible Extra Points}
|
||||
Things I've done that might be worth more points!
|
||||
\begin{itemize}
|
||||
\item Edit and delete messages in the chat
|
||||
\item Run a command line process and return stdout as a message
|
||||
\item Evaluate arbitrary PHP code and return the results to the chat
|
||||
\end{itemize}
|
||||
\footnotesize I am the only user allowed to evaluate arbitrary code.
|
||||
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\begin{center}
|
||||
\Large\textbf{Any Questions?}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\end{document}
|
Loading…
Reference in New Issue