This commit is contained in:
Emil 2023-08-02 07:08:22 -06:00
parent edfed94214
commit 275c30c2cd
3 changed files with 120 additions and 17 deletions

View File

@ -1,5 +1,7 @@
// @COMPILECMD gcc main.c -lircclient /* @COMPILECMD gcc main.c -lircclient */
#define _GNU_SOURCE #define _GNU_SOURCE
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdarg.h> #include <stdarg.h>
@ -17,7 +19,7 @@ char* get_username(const char* origin){
const char USERNAME_TERMINATOR = '!'; const char USERNAME_TERMINATOR = '!';
int i = 0; int i = 0;
while (origin[i] != USERNAME_TERMINATOR) while (origin[i] !=USERNAME_TERMINATOR)
{ {
i++; i++;
} }

View File

@ -1,27 +1,24 @@
/* fetch.c - fetch from file */ /* fetch.c - fetch from file */
#include <stdio.h> #include <stdio.h>
#include <unistd.h>
#include <sqlite3.h>
#ifdef LOCAL_PROBOTIC_MAIN #ifdef LOCAL_PROBOTIC_MAIN
int int
main (int argc, main (int const argc,
char ** argv) char const * const * const argv) /* yeah. */
{ {
if (argc > 1) if (argc == 2)
{ {
char * b; sqlite3 * db;
/* get week number via stoi */ int exit = sqlite3_open("test.db", &db);
++argv; --argc; char const * const query = "SELECT * FROM PERSON";
/* no options, yet */
while (++argv, --argc)
{
printf("%s\n", *argv);
}
} }
else else
{ {
/* no stdin yet */
/* usage(); */ /* usage(); */
return 1; return 1;
} }

View File

@ -1,6 +1,110 @@
/* main.c - this file would handle the bot? */ /* @COMPILECMD ../unity.sh */
int main(void) #define _GNU_SOURCE
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <libircclient/libircclient.h>
#define SERVER "irc.rizon.net"
#define PORT 6667
#define CHANNEL "#/g/chad"
#define USERNAME "probotic"
irc_session_t * session;
irc_callbacks_t callbacks;
char * get_username(const char * origin)
{ {
const char USERNAME_TERMINATOR = '!';
int i = 0;
char * r;
while (origin[i] !=USERNAME_TERMINATOR)
{
i++;
}
r = (char *) malloc(i + 1);
strncpy(r, origin, i);
r[i] = '\00';
return r;
}
void
msg_wrapper(const char* fmt,
...)
{
va_list args;
char * fmtdmsg;
va_start(args, fmt);
if(vasprintf(&fmtdmsg, fmt, args) == -1)
{ exit(1); }
puts(fmtdmsg);
irc_cmd_msg(session, CHANNEL, fmtdmsg);
free(fmtdmsg);
va_end(args);
}
void
event_connect(irc_session_t *session,
const char *event,
const char *origin,
const char **params,
unsigned int count)
{
irc_cmd_join(session, CHANNEL, 0);
}
void
event_channel(irc_session_t *session,
const char *event,
const char *origin,
const char **params,
unsigned int count)
{
const char *channel = params[0];
const char *message = params[1];
char* swp = get_username(origin);
msg_wrapper("%s, you are a faggot for this opinion.", swp);
free(swp);
}
int
init(void)
{
memset(&callbacks, 0, sizeof(callbacks));
callbacks.event_connect = event_connect;
callbacks.event_channel = event_channel;
session = irc_create_session(&callbacks);
if (!session) {
fprintf(stderr, "Error creating IRC session\n");
return 1;
}
irc_connect(session, SERVER, PORT, 0, USERNAME, USERNAME, USERNAME);
if (irc_run(session) != 0) {
fprintf(stderr, "Error running IRC session\nNo net?");
return 1;
}
return 0; return 0;
} }
int
main(int argc,
char ** argv)
{
if(!init())
{
while(1)
{}
irc_destroy_session(session);
return 0;
}
else
{ return 1; }
}